繁体   English   中英

git checkout vs git checkout HEAD vs git checkout <CURRENT BRANCH> vs git checkout — <WORKING DIR>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM