2010-03-25 17 views
18

假設你只是想擺脫你對一個文件做出的修改,並回到版本庫中的任何東西。我曾經這樣做svn:如何使用GIT提取特定文件?

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

什麼是在Git中的等效?我知道如何從存儲庫獲取/提取evrything,但是如何處理單個文件?

回答

32

要撤消(未提交)更改:

git checkout a-file.txt 

如果你犯了變化和希望取消設置在一個特定先前承諾:

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

順便說一句,用顛覆你應該有完成:

svn revert a-file.txt 
+1

你也可以做「git reset --hard [commit/branch]」。要找出提交「git log --oneline」,--oneline,所以它不會寫入所有不需要的信息。 – 2012-03-28 12:54:54

+0

+1,並澄清「某些以前的提交」:它指的是'SHA1 ID',可以很容易地通過'gitk'找到。如果我只需要將該文件「簽出」到臨時位置(即不恢復),那麼我將使用'show'子命令:'git show 82e54378856215ef96c5db1ff1160a741b5dcd70:MyProj/proguard/mapping.txt> myproj_mapping.txt' – ef2011 2012-10-14 23:45:46

相關問題