Mam kilka zmodyfikowanych plików w moim repozytorium git, a duża ich liczba to pliki xml. Jak mogę przywrócić zmiany (zresetować modyfikacje) tylko plików xml?Jak przywrócić niezamówione zmiany do plików określonego typu w git
Odpowiedz
Dziękuję wszystkim za odpowiedzi, ale znalazłem dla mnie najbardziej dokładne rozwiązanie:
git diff --name-only -- '*.xml' | sed 's, ,\\&,g' | xargs git checkout --
sed jest łatwy do ucieczki przestrzenie, które niespokojnych xargs i wszystko działa bardzo szybki i dokładny.
Nie trzeba find
lub sed
, można użyć symboli wieloznacznych, jak rozumie je git (nie zależy od powłoki):
git checkout -- "*.xml"
Cytaty uniemożliwi powłokę, aby rozwinąć polecenia tylko pliki w bieżącym katalogu przed jego wykonaniem.
Można również wyłączyć rozszerzenie glob powłoki bash (z):
set -f
git checkout -- *.xml
To, oczywiście, będzie nieodwracalnie wymazać swoje zmiany!
'*/*. Xml' nie jest" plikami xml we wszystkich katalogach ". – wRAR
@wRAR znalazłem ... globowanie w git nie jest dobrze udokumentowane – CharlesB
'**/*. Xml' użyje twoich skorup globs, więc usunięte pliki nie zostaną wyrejestrowane, ale jeśli to tylko zmiany, to powinno praca. – Reactormonk
find . -name '*.xml' -print0 | xargs -0 git checkout HEAD
lub coś równoważne jeśli system nie posiada find
i xargs
. Lub po prostu git checkout HEAD **/*.xml
w zsh
lub dowolnej innej powłoce z tą formą ponownego kodowania.
- 1. Jak przywrócić moje zdalne repozytorium git do określonego zatwierdzenia?
- 2. GitHub - Jak przywrócić zmiany do poprzedniego stanu?
- 3. Przywrócić poprzednie zatwierdzenie git?
- 4. netbeans: przywrócić zmiany projektu ze specjalnej daty
- 5. Jak powrócić do określonego tagu w Git?
- 6. Jak przywrócić uszkodzone repozytorium git?
- 7. Jak mogę przywrócić gałąź git-svn do SVN HEAD?
- 8. Android: Pobieranie listy wszystkich plików określonego typu
- 9. Jak monitorować folder zmiany plików w tle?
- 10. Jenkins Git Publisher: Jak przywrócić kod do wzorca po kompilacji?
- 11. Git: Cofnij zmiany lokalne; git dodaj. + git rm?
- 12. jak odrzucić zmiany w lokalnych gałęziach git?
- 13. Git: zresetować/przywrócić całą gałąź do stanu innej gałęzi?
- 14. Jak przywrócić/cofnąć zmiany lokalne w obiekcie Activerecord?
- 15. Git: pobranie określonego zatwierdzenia
- 16. Jak mogę przywrócić `git fetch upstream; git merge upstream/master`?
- 17. Jak można przywrócić plik git do wersji obszaru przemieszczania?
- 18. Jak przywrócić plik w Git, którego nazwa została zmieniona na
- 19. Jak zapisać i przywrócić sesje terminalu dla określonego projektu IntelliJ?
- 20. Jak uzyskać zmiany w oddziale w Git
- 21. Jak grep Git commit diffs lub content dla określonego słowa?
- 22. Git: zatwierdza częściowe zmiany
- 23. Jak ustawić Json.NET ContractSerializer dla określonego określonego typu zamiast globalnie?
- 24. przywrócić scalania po pchanych
- 25. git płytkie klon do określonego tagu
- 26. Git Diff - Jak mogę przywrócić wybrane linie lub porcje?
- 27. ActionFilterAttribute - zastosowanie do działań określonego kontrolera typu
- 28. Jak wyświetlić niezatwierdzone zmiany w Git
- 29. Nie mogę zresetować pliku do określonego zatwierdzenia za pomocą Git
- 30. Jak mogę przywrócić katalog usunięty z CVS po wprowadzeniu zmiany?
zobacz moja odpowiedź, nie potrzebujesz tego wszystkiego :) – CharlesB