[英]git checkout vs git checkout HEAD vs git checkout <CURRENT BRANCH> vs git checkout — <WORKING DIR>
我正在尝试确定以下4个命令之间存在的差异。
假设当前分支为master
,当前目录为“工作目录”,即.git
所在的.git
。
git checkout
git checkout HEAD
git checkout master
git checkout -- .
据我所知,前两个命令是完全等效的 ,并且本质上是无操作的(除了它们都可能产生一些输出的事实之外); 第三个几乎与前两个相同,除了它除了会产生前一个产品的任何其他输出外,还会产生Already on 'master'.
的行Already on 'master'.
与所有其他命令相比,最后一个命令将丢弃所有未分段的更改。
我错过了什么吗?
根据TFM的介绍 , git checkout
命令有四种形式。 您的前两个示例是其中之一,另外两个示例是另外两个。
因此,要回答您的问题,您已经错过了git checkout
的最后一种形式:
git checkout -b <new branch name> <start point>
前三个相同( 不是无操作,如果您更改了一些文件,它们将被主机提示中的文件替换)。 第四个仅检出“。”中的文件,即当前目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.