我一直在练习git checkout -- somefile.txt
来检查git文件,万一我搞砸了。 Git如何知道从哪个提交中检出哪个文件?
即:我写git checkout -- index.html
。 Git如何知道从哪个提交中获取index.html,尤其是当您的提交列表变得越来越大时?
答案 0 :(得分:3)
将git checkout
与路径一起使用但未指定提交将从索引(即暂存区域)中检出该文件。因此,例如,如果您已对文件进行了一些更改,然后进一步修改了它,并且只想撤消这些其他更改,那么您可以使用git checkout -- some/path
来撤消这些更改。
如果你的索引是干净的,即在使用git status
时没有报告被暂存,则索引将等同于当前签出的分支(或提交)HEAD
。所以这也是一种撤消变化的方法。
当然,使用git checkout
指定提交将始终使用该确切修订版的文件版本,无论您的索引如何。