美文网首页
git checkout 命令详解

git checkout 命令详解

作者: 夏天的技术博客 | 来源:发表于2020-05-28 02:00 被阅读0次

    概览

    git checkout 这条命令的常用格式如下:

    用法一

    git checkout [<commit>] [--] <paths>
    1
    用于拿暂存区的文件覆盖工作区的文件,或者用指定提交中的文件覆盖暂存区和工作区中对应的文件。

    用法二

    git checkout <branch>
    1
    用于切换分支。

    用法三

    git checkout -b <new_branch> [<start_point>]
    1
    用于创建并切换分支。

    详细说明

    1. git checkout [<commit>] [--] <paths>

    第一种用法在命令中包含路径 <paths>。为了避免路径<paths>和引用(或者提交)<commit> 同名而冲突,可以在<paths>前用两个连续的短线减号作为分隔。

    <commit> 是可选项,如果省略则相当于从暂存区(index)检出。这和 git reset 重置命令(例如 git reset HEAD <file>)大不相同:重置的默认值是 HEAD,而检出的默认值是暂存区。因此重置一般用于重置暂存区(除非使用--hard参数,否则不重置工作区),而检出命令主要是覆盖工作区(如果<commit>不省略,也会替换暂存区中相应的文件)。

    第一种用法(包含了路径 <paths> 的用法)不会改变 HEAD 头指针,主要是用于拿指定版本的文件覆盖工作区中对应的文件。如果省略<commit>,则会拿暂存区的文件覆盖工作区的文件,否则用指定提交中的文件覆盖暂存区和工作区中对应的文件。

    1. git checkout <branch>

    第二种用法(不使用路径<paths>的用法)则会改变 HEAD 头指针。之所以后面的参数写作<branch>,是因为只有 HEAD 切换到一个分支才可以对提交进行跟踪,否则仍然会进入“分离头指针”(Detached HEAD)的状态。在“分离头指针”状态下的提交不能被引用关联到而可能会丢失。所以用法二最主要的作用就是切换分支。

    1. git checkout -b <new_branch> [<start_point>]

    -b 选项表示创建新分支。如果指定了 <start_point> ,那么新的分支将指向<start_point> ,否则新的分支指向当前的 HEAD. 新分支和我们熟悉的 master 分支并没有什么实质的不同,都是在refs/heads命名空间下的引用。第三种用法用于分支的创建并切换。

    ————————————————
    版权声明:本文为CSDN博主「车子chezi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/longintchar/article/details/82953474

    相关文章

      网友评论

          本文标题:git checkout 命令详解

          本文链接:https://www.haomeiwen.com/subject/bewnahtx.html