首页 > 其他分享 >git 学习

git 学习

时间:2024-07-10 14:41:09浏览次数:15  
标签:文件 git 学习 Git 提交 commit 分支

git 学习

git学习推荐课程和笔记

02-深入 Git (yuque.com)

尚硅谷Git教程全套完整版(12h深入掌握git)_哔哩哔哩_bilibili

git工作区

git 工作区流程图

image

参考博客;

【Git】(1)---工作区、暂存区、版本库、远程仓库 - 雨点的名字 - 博客园 (cnblogs.com)

【Git】---工作区、暂存区、版本库、远程仓库 - hanease - 博客园 (cnblogs.com)

git 文件三种状态

git中,文件的状态只有三种(已修改、已暂存、已提交)

已修改 : 在工作目录修改Git文件

已暂存 : 对已修改的文件执行Git暂存操作(git add),将文件存入暂存区

已提交 : 将已暂存的文件执行Git提交操作(git commit),将文件存入版本库

我们对文件的各种操作新建、编辑(写代码)都是在工作区完成的,但是工作区的文件还是不被Git所管理的

git status 详解

1. git status结果分析

当执行 git status 的时候,返回结果大致可分为3个部分:

  1. 拟提交的变更:这是已经放入暂存区,准备使用 git commit 命令提交的变更
  2. 未暂存的变更:这是工作目录和暂存区快照之间存在差异的文件列表
  3. 未跟踪的文件:这类文件对于 Git 系统来说是未知的,也是可以被忽略的

image

2. git status 命令

#查看指定文件状态
git status [filename]
#查看所有文件状态
git status

git commit 详解

git commit 命令

#将暂存区-->资源库(版本库)
git commit -m '该次提交说明'

PS D:\java\gitStudy> git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   CommitTest.java

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .idea/
        ingoretest.java
        
 # 提交       

PS D:\java\gitStudy> git commit -m "commit提交测试"
[master c228023] commit提交测试
 1 file changed, 2 insertions(+)
 create mode 100644 CommitTest.java


# 提交历史
PS D:\java\gitStudy> git log
commit c228023a4c357a61606b9eb6bff4e33b90b8057a (HEAD -> master)
Author: c
Date:   Tue Jul 9 16:29:23 2024 +0800

    commit提交测试

commit 5075727703edf81cdb914a5540d4030812f94342
Author: c
Date:   Tue Jul 9 16:23:05 2024 +0800

    新建文件测试提交到暂存区

commit 47c4d714e7c8c5418f3a258e24d99ec14af83f23
Author: c
Date:   Tue Jul 9 16:16:22 2024 +0800

    第一次提交

idea commit 提交

**快捷方式: ctrl+k **

image

idea 操作git

1. idea 分支详细介绍

image

image

HEAD:表示当前工作的分支

2. idea 切换分支

branch 切换 test

image

切换后结果

image

切换分支存在问题:

  1. 若当前的分支已经做了一定的修改,则直接进行分支切换时git 会产生如下错误信息。这是由于已经对当前分支进行了修改,但尚未保存而导致的。

    idea checkout报错

image

git checkout 报错


error: Your local changes to the following files would be overwritten by checkout : xxxx 
Please commit your changes or stash them before you switch branches

解决办法: checkout之前 先commit

1. 在当前分支(master)先提交(commit) 保存修改信息 2. checkout 目标分支(branch)当再次切换回来的时候 master分支修改的内容已经保存,不会丢失。

git 学习笔记 —— 保留/丢弃当前分支修改并切换至其他分支 - yhjoker - 博客园 (cnblogs.com)

3. idea Reset current branch here

详细介绍

image

Reset current branch here:操作执行回退,导致之间的所有提交记录全部没了

branch-sout2回溯,导致提交信息没了

image

4. undo commit

相邻的提交撤销,等同于上述Reset current branch here

标签:文件,git,学习,Git,提交,commit,分支
From: https://www.cnblogs.com/life1314/p/18294017

相关文章

  • 从零学习大模型——使用GLM-4-9B-Chat + BGE-M3 + langchain + chroma建立的本地RAG应
    第一篇介绍了如何配置最基本的环境并下载了GLM-4-9B-Chat到本地,接下来我们试着将GLM-4-9B-Chat接入LangChain。LangChain 是一个基于大型语言模型(LLM)开发应用程序的框架。LangChain简化了LLM应用程序生命周期的每个阶段:开发:使用LangChain的开源构建模块和组件构建应用程序......
  • 从零学习大模型——使用GLM-4-9B + BGE-M3 + langchain + chroma建立的本地RAG应用(一)
    本项目基于DataWhaleChina的self-llm教程与llm-universe及Langchain官方文档等资料开发,旨在实现全部本地化的RAG应用。本项目使用AutoDL的云服务器进行开发。在 AutoDL 平台中租一个3090等24G显存的显卡机器,如下图所示镜像选择 PyTorch-->2.1.0-->3.10(ubuntu22.04)-->12.......
  • 如何学习一门新技术,十年 MarkDown 程序员怎么做
    案例源码仓库地址:https://github.com/Rodert/go-demo官方文档:https://etcd.io/视频教程:https://space.bilibili.com/404747369文章目录介绍使用场景安装&搭建搭建ETCD与ETCD交互集群Go+ETCD编码介绍谈使用场景之前,看看他有哪些功能官方定义是这样的:etcd......
  • 机器学习策略篇:详解如何使用来自不同分布的数据,进行训练和测试(Training and testing o
    如何使用来自不同分布的数据,进行训练和测试深度学习算法对训练数据的胃口很大,当收集到足够多带标签的数据构成训练集时,算法效果最好,这导致很多团队用尽一切办法收集数据,然后把它们堆到训练集里,让训练的数据量更大,即使有些数据,甚至是大部分数据都来自和开发集、测试集不同的分布。......
  • 学习ArkTS遇到的的兼容与适配案例
    案例相册选择的API(如下)在Mate30上无法支持letphotoPicker=newpicker.PhotoViewPicker();photoPicker.select({}).then(()=>{});虽然在2024/06Mate30的系统已经可以更新到4.2版本但是仍旧无法使用此API,然而同是麒麟990芯片的P40是可以正常执行的官......
  • JavaSE学习笔记第二弹——对象和多态(上)
    目录面向对象基础面向对象程序设计的定义类的基本结构成员变量成员方法方法定义与使用设计练习方法重载构造方法静态变量和静态方法String和StringBuilder基本含义区别总结今天我们继续来学习JavaSE,扩展和Java相关的知识,与大家共勉。今天的主题是对象和多态,希......
  • flutter组件学习
    List.generate-生成一个列表import'package:flutter/material.dart';voidmain(){//根据索引生成一个列表List<Widget>bts=List.generate(10,(index)=>ElevatedButton(onPressed:(){},child:Text("第$index个按钮")));Columncolumn=Column(chi......
  • 昇思25天学习打卡营第12天|ShuffleNet图像分类
    ShuffleNet网络介绍        ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型,和MobileNet,SqueezeNet等一样主要应用在移动端,所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。ShuffleNetV1的设计核心是引入了两种操作:PointwiseGroupConvolution......
  • 可视化学习:如何用WebGL绘制3D物体
    在之前的文章中,我们使用WebGL绘制了很多二维的图形和图像,在学习2D绘图的时候,我们提过很多次关于GPU的高效渲染,但是2D图形的绘制只展示了WebGL部分的能力,WebGL更强大的地方在于,它可以绘制各种3D图形,而3D图形能够极大地增强可视化的表现能力。相信很多小伙伴都对此有所耳闻,也有不少......
  • C语言学习笔记(04)——内存空间的使用
    指针指针概述:内存类型资源的地址、门牌号的代名词指针只是个概念,要用还得用指针变量:存放指针这个概念的盒子C语言编译器对指针这个特殊的概念,有2个疑问?1、分配一个盒子,盒子要多大?​ 在32bit系统中,指针就是4个字节,指针大小都固定了,就是4字节,跟你指向什么类型没有关系2、盒子......