`git checkout HEAD - fileA.cpp`与`git checkout - fileA.cpp`之间的区别

时间:2016-01-14 21:06:05

标签: git

基于Meaning of Git checkout double dashes

git checkout -- fileA.cpp

我希望还原fileA.cpp上的更改。

问题> checkout是否有HEAD

之间是否存在差异?

谢谢

1 个答案:

答案 0 :(得分:2)

的区别,当且仅当索引中的fileA.cpp版本与fileA.cpp提交中的HEAD版本不同时才会有意义

具体来说,如果没有单词HEADgit checkout -- <path>会从索引中将<path>的版本提取到工作树,而不会保留索引版本。在HEAD之前添加--git checkout HEAD -- <path><path>标识的提交中提取HEAD的版本,将 写入index,然后才将索引版本(现在与HEAD版本相同)写入工作树。

另请参阅this StackOverflow answer(最初在git reset,但也扩展到结帐)。