我的git存儲庫中有一堆修改過的文件,其中大量是xml文件。如何恢復僅xml文件的更改(重置修改)?如何在git中恢復某種類型的文件未被更改的更改
回答
謝謝大家的答覆,但我發現,對我來說,最準確的解決方案:
git diff --name-only -- '*.xml' | sed 's, ,\\&,g' | xargs git checkout --
sed的是用戶逃離這困擾xargs的,一切都工作得非常快速,準確的空間。
你不需要find
或sed
,您可以使用通配符作爲git的理解他們(不依賴於你的shell):
git checkout -- "*.xml"
引號會阻止你的shell擴展命令只文件在執行之前在當前目錄中。
您還可以禁用外殼擴展的glob(使用bash):
set -f
git checkout -- *.xml
這,當然,將無可挽回地刪除你的變化!
'*/*。xml'不是「所有目錄中的xml文件」。 – wRAR 2013-02-13 22:59:13
@wRAR發現它...... git中的globbing沒有很好的記錄 – CharlesB 2013-02-13 23:09:29
'**/*。xml'將使用你的shell globs,所以刪除的文件將不會被檢出,但如果它只是改變,應該工作。 – Reactormonk 2013-02-13 23:25:22
find . -name '*.xml' -print0 | xargs -0 git checkout HEAD
或等價的東西,如果你的系統沒有find
和xargs
。或者只是git checkout HEAD **/*.xml
在zsh
或任何其他殼與這種形式的要求globbing。
- 1. 恢復被git pull覆蓋的更改
- 2. Git恢復更改
- 3. 如何恢復更改爲未被接受的文件
- 4. 如何恢復和修復Git中的文件更改
- 5. 如何恢復從git提交更改?
- 6. 如何恢復/撤消TFS中未更改的文件?
- 7. 如何恢復只有一個文件與git-svn的更改?
- 8. 恢復與未更改未更改的更新
- 9. 如何更改文件類型的某些文件的圖標?
- 10. 如何「恢復」未更改的文件與mercurial?
- 11. 更改的文件未被修改?
- 12. 通過GIT只恢復一個文件中的更改
- 13. git未檢測到某些文件中的更改
- 14. Git:文件「已更改但未更新」
- 15. Git:如何撤消在某個文件夾中未分檔的更改
- 16. git恢復刪除的文件及其更改歷史記錄
- 17. git選擇性恢復文件的本地更改
- 18. Git:如何從已更改的歷史中恢復?
- 19. 恢復未保存的更改 - Eclipse
- 20. 如何在更改文件後恢復文件的修改時間?
- 21. git恢復選擇性更改
- 22. Git拒絕合併,因爲對未更改文件的更改
- 23. 如何在不更改文件類型的情況下更改文件名?
- 24. 在visual studio 2015中「撤消掛起的更改」後恢復文件(更改)
- 25. 如何恢復ObservableCollection的更改值?
- 26. 如何恢復我所做的更改
- 27. Git - 更改文件
- 28. 如何取消/恢復對可觀察模型的更改(或用未更改的副本替換模型)
- 29. 如何恢復從git提交的更改
- 30. 有沒有辦法恢復文件的svn屬性更改而不會恢復文件內容的更改?
看到我的回答,你不需要所有這些:) – CharlesB 2013-02-13 23:42:07