2011-11-04 106 views
6

我在Win XP上使用TortoiseGit客戶端。在一個特定的文件夾中,我有3個修改過的文件,我希望它們的修改被垃圾清理。換句話說,我想從遠程存儲庫中檢出這三個文件的最新版本。請注意,在我想保留的相同目錄中還有另一個修改過的文件。我如何才能獲得這3個文件的最新版本?git:只提取某些文件

謝謝 - 戴夫

回答

8

與路徑名甲結帳不影響HEAD

git checkout origin/master -- file1 path/file2 path/file3 

假設默認上游遠程/分支名稱(後例如一個git克隆)

注意,三個已命名的文件將被覆蓋而不會發出警告。任何未提交的本地更改這些命名文件都將丟失。

+0

從我的本地存儲庫或從遠程服務器執行此結帳嗎? – Dave

+0

@Dave:它從你引用的名字(在這種情況下,_branch_' origin/master',它在大多數情況下是你的默認遠程分支的正確名稱(例如'git pull'使用的名稱) )。要查看你有哪些遠程分支,請鍵入'git branch -r' – sehe

2

從項目根目錄調用上下文菜單(點擊鼠標右鍵,假設你是右手的;-)。

選擇TortoiseGit > Revert...

的還原對話框將顯示您已經修改您庫中的所有文件。您可以通過選擇複選框然後按確定來選擇要恢復的那個。

這會將選定的文件恢復到其原始狀態。

然後,您可以使用TortoiseGit上下文菜單中的Pull ...操作從共享存儲庫獲取這些文件的最新版本(當然,您可能希望提交/隱藏您在本地進行的其他更改)。

+0

如果我不想提交/隱藏其他更改,該怎麼辦?我只想從遠程存儲庫更新有問題的3個文件,並保持原樣。 – Dave

+0

@Dave您也可以從TortoiseGit菜單中做到這一點。只需選擇有問題的文件並選擇** Diff **操作即可。 TortoiseGit將顯示不同的文件。您可以通過雙擊鑽取每個文件來查看_what_已更改。然後您可以接受或拒絕更改。 –