如何使用GIT拉取特定文件?

20

假设你只是想要摆脱对一个文件所作的更改,回到存储库中的内容。我以前在 svn 中这么做:

rm a-file.txt
svn update a-file.txt

在 Git 中如何找到相应的命令?我知道如何获取/拉取存储库中的 全部 内容,但是如何处理单个文件呢?

1个回答

33

撤销(未提交的)更改:

git checkout a-file.txt

如果您已经提交了更改并想将它们撤消到某个先前的提交:

git checkout [some-older-commit-ref] a-file.txt

顺便提一句,如果你在使用Subversion,应该这样做:

svn revert a-file.txt

1
你也可以执行 "git reset --hard [commit/branch]" 命令。为了查找提交记录,可以使用 "git log --oneline" 命令,使用 --oneline 参数可以只显示必要的信息。 - Lilian A. Moraru
+1 并澄清一下“特定的先前提交”:它指的是可以通过 gitk 轻松找到的 SHA1 ID。如果我只需要将该文件“检出”到临时位置(即不还原),那么我将使用 show 子命令:git show 82e54378856215ef96c5db1ff1160a741b5dcd70:MyProj/proguard/mapping.txt > myproj_mapping.txt - ef2011

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接