在使用checkout时,git如何知道要检出的文件 - somefile?

时间:2016-08-03 23:37:45

标签: git

我一直在练习git checkout -- somefile.txt来检查git文件,万一我搞砸了。 Git如何知道从哪个提交中检出哪个文件?

即:我写git checkout -- index.html。 Git如何知道从哪个提交中获取index.html,尤其是当您的提交列表变得越来越大时?

1 个答案:

答案 0 :(得分:3)

git checkout与路径一起使用但未指定提交将从索引(即暂存区域)中检出该文件。因此,例如,如果您已对文件进行了一些更改,然后进一步修改了它,并且只想撤消这些其他更改,那么您可以使用git checkout -- some/path来撤消这些更改。

如果你的索引是干净的,即在使用git status时没有报告被暂存,则索引将等同于当前签出的分支(或提交)HEAD。所以这也是一种撤消变化的方法。

当然,使用git checkout指定提交将始终使用该确切修订版的文件版本,无论您的索引如何。