git checkout vs git checkout HEAD vs git checkout vs git checkout -
问题描述:
我试图确定以下4个命令之间存在的差异。git checkout vs git checkout HEAD vs git checkout <CURRENT BRANCH> vs git checkout - <WORKING DIR>
假设当前分支是master
,并且当前目录是“工作目录”,即.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>
答
前3个是相同的(并且是不无操作,如果你没有改变一些文件将被主文件中的文件替换)。第四个只检出只有'。'中的文件,即当前目录。
你从哪里得到“四”?您链接的页面以5种不同的模式开始,涉及'git checkout' ... – kjo 2013-03-19 19:42:01
向下滚动,有四个主要段落的描述。可以肯定的是,这种错配有点奇怪。 – 2013-03-19 23:31:47