【Git】git checkout

checkout命令,即"检出",用于从历史提交(或者暂存区域)中拷贝文件到工作目录,也可用于切换分支。

1. 常用命令

1、git checkout

表示核查工作区相对于版本库修改过的文件

2、git checkout + 分支名

表示切换分支

3、git checkout -b 分支名

表示以当前分支的当前状态创建新分支并切换到新分支 -b 表示创建新分支

4、git checkout -b 分支名 commitID

表示以当前分支的commitID提交节点创建新的分支并切换到新分支。此时工作区的内容和切换分之前commitID提交节点的内容一样

5、git checkout commitID

是以指定的提交节点创建了一个临时性分支,此临时性分支可用于做实验性修改

6、git checkout filename

当没有提交版本号时将工作区的指定文件的内容恢复到暂存区的状态

7、git checkout .

将工作区的所有文件的内容恢复到暂存区的状态

8、git checkout <commit> filename

当有提交版本号时,表示将工作区和暂存区都恢复到版本库指定提交版本的指定文件的状态,此时HEAD指针不变,此时的状态相当于把工作区的内容修改到指定版本的文件内容后,再把修改的内容添加到暂存区。因此git checkout <commit> filename后,可以直接执行git commit而不需要先执行git add

9、git branch -d branch_name
删除分支

2. 实操

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5、 git checkout commitID 此命令有些特殊,此命令执行后,工作区的内容会变成commitID提交节点的内容,但时HEAD不位于任何分支上,处于游离状态。

更准确的说,此命令是以指定的提交节点创建了一个临时性分支,被别HEAD指向了这个临时分支,你可以在这个临时分支上修改内容并且提交内容。

但是,一但你从临时分支切换到其他分支,这个临时分支就会消失。

这种临时性分支主要用来做一些实验性的修改,实验结束后,只要切换回原分支即可,原分支不会有任何改变。临时性分支上的改动并不会反映到原分支。

但是你如果想把这临时性分支上的改动反映到原分支上,可以通过git checkout -b 新分支名 命令 以临时性分支的当前状态创建一个永久性分支,再把这个分支合并到原先的分支,然后再删除这个分支即可。

执行git checkout commitID命令

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44441131/article/details/119992894