我有幾個星期前做過的舊提交。我想從該提交中只恢復一個文件。我該怎麼辦?從git中的舊提交還原文件
回答
git checkout '[email protected]{7 days ago}' -- path/to/file.txt
這不會改變的頭,它只是簡單地覆蓋本地文件path/to/file.txt
見man git-rev-parse可能的修訂規格有(當然是一個簡單的哈希(如dd9bacb
)會做很好)
不要忘了提交更改(在審覈後...)
哇,@heneryville和sehe,我實際上認爲'7天前'是元你會找出什麼提交。 TY! – AnneTheAgile
第2部分 當希望選擇特定的提交時,上述格式不起作用。相反使用下面顯示的Urs, git checkout commitShaNumber - path/to/file.txt per http://stackoverflow.com/questions/215718/how-do-i-reset-revert-a-specific-file -a-specific-revision-using-git – AnneTheAgile
@AnneTheAgile事實上,它仍然是完全一樣的語法,我恰好給出了一個['revision-specification']的複雜例子。 kernel.org/pub/software/scm/git/docs/git-rev-parse.html),因爲這是OP所要求的:) – sehe
- 1. 在GIT中還原未提交的文件
- 2. 如何「取消還原」還原的Git提交?
- 3. 從Git中刪除陳舊的提交
- 4. Git發出提交併還原
- 5. Git:暫時還原推送提交
- 6. git:從舊的提交中刪除文件
- 7. 從尚未推送的舊提交中移除文件(Git Extension)
- 8. 從git中刪除舊的提交文件
- 9. 還原一個Git合併提交,然後恢復該還原
- 10. 還原SVN中的提交?
- 11. git重新提交已還原的提交
- 12. 將其還原爲提交文件
- 13. git從存儲庫中刪除文件和舊提交
- 14. Git將所有提交的原始/主文件提交到原始/主文件中的單個提交
- 15. Git:恢復舊的提交
- 16. 還原交互式git rebase
- 17. 還原爲舊版本的文件
- 18. Git從舊提交添加代碼
- 19. 從多個git rebases恢復「舊提交」
- 20. 是否可以編輯舊的git提交中的文件?
- 21. 我們可以說,一個git還原合併舊的提交頂部的恢復提交?
- 22. Git-歸檔舊提交
- 23. 還原或重置Git中的遠程提交?
- 24. 如何刪除Git中的舊提交?
- 25. 從.git文件夾提取提交ID
- 26. Git:從提交請求中排除已提交的文件
- 27. Git - 我如何將我的本地文件還原到最後一次提交?
- 28. Git的提交原子?
- 29. 在提交中還原對文件的更改
- 30. 在本地系統中還原Git提交
可能重複[使用Git重置或恢復特定文件到特定版本?](http://stackoverflow.com/questions/215718/reset-or-revert-a-specific-file-to-一個特定修訂使用git) –