Mam fragment kodu w innym niż moja obecna gałąź w repozytorium git i nie jestem pewien, które zatwierdzenie i która gałąź. Jak mogę przeszukać wszystkie pliki, które do tej pory zatwierdziłem dla określonego ciągu znaków (a następnie pokazać otoczenie tego wiersza kodu)?Git-Repo wyszukuje ciąg we wszystkich zatwierdzonych plikach (nieznana gałąź i zatwierdzenie)
Odpowiedz
Zastosowanie git grep
zlokalizować commit:
git grep "string" $(git rev-list --all)
git rev-list --all
pozwala przeszukiwać całą historię projektu.
To da wyjście takiego:
<commit>:<path>:<matched line>
Następnie można użyć git branch --contains
aby dowiedzieć się, który oddział commit jest:
git branch --contains <commit>
Czy mogę określić, aby wyszukiwać tylko w jednym pliku/ścieżce? (Np. Szukam określonego urządzenia i chcę tylko szukać w tej ścieżce) –
Tak: 'git grep" string "$ (git rev-list --all) - path'. – jszakmeister
to nie działa dla wielkich historii: ( 'git grep 'abc' echo $ (git rev-list - all)' 'zsh: lista argumentów za długa: git' – tback
zmienić oddział za pomocą git branch "branch-name"
, a następnie wykonać git grep "specific string"
w katalogu głównym repozytorium. jeśli nie masz zbyt wielu oddziałów, to powinno tam być wystarczająco szybko.
Jeśli zmienność git grep "string"
powyżej daje Ci " lista zbyt długich "błędów, możesz zamiast tego użyć git log -S
. Opcja -S przeszukuje zawartość plików, które zostały popełnione: (. Więcej w książce "Pro Git" pod "searching")
git log -Sstring # look for string in every file of every commit
git log -Sstring -- path/to/file # only look at the history of the named file
- 1. Zastąp ciąg we wszystkich plikach w Eclipse
- 2. Kod X Znajdź i zamień we wszystkich plikach projektu
- 3. Jak wyszukiwać we wszystkich plikach mojego projektu za pomocą VIM?
- 4. Zmiana nazwy rebooka - zapobiega wyszukiwaniu odnośników we wszystkich plikach
- 5. Google Drive SDK Push Powiadomienia - oglądać zmiany we wszystkich plikach?
- 6. Jak wyświetlić błędy kompilacji we wszystkich plikach w XCode 4?
- 7. Wyszukaj ciąg we wszystkich kolumnach DataFrame i filtru Pandy
- 8. Jak wyświetlić numery linii we wszystkich plikach w kodzie AppCode?
- 9. W tym #define we wszystkich plikach źródłowych .c podczas kompilacji
- 10. Używając git, jak mogę wyszukać ciąg we wszystkich gałęziach?
- 11. phpstorm regex wyszukuje i zamienia
- 12. grep we wszystkich katalogach
- 13. NetBeans i stop/break we wszystkich wyjątkach?
- 14. Python: Czytanie wszystkich plików we wszystkich katalogach
- 15. Perl wyszukuje i zastępuje ostatnie wystąpienie znaku
- 16. Znajdź typy we wszystkich złożeniach
- 17. edytuj plik we wszystkich zatwierdzeniach w git
- 18. Narzędzie/trik do zamiany tabulatorów we wszystkich plikach całego rozwiązania VS
- 19. Co to jest klawisz skrótu do zamiany tekstu we wszystkich plikach w Sublime Text 2?
- 20. czy można ustawić amdefine w testach, aby nie musiałem go definiować we wszystkich moich plikach modułów?
- 21. Zatwierdzenie i transakcja mysql
- 22. Czy muszę dodać app.initialize() we wszystkich moich plikach html w projekcie cordova/phonegap
- 23. Czyszczenie kodu - narzędzie do przenoszenia wszystkich instrukcji użycia wewnątrz przestrzeni nazw we wszystkich plikach cs w moim rozwiązaniu?
- 24. Czy można bezpiecznie używać specyfikacji technicznych C++ zatwierdzonych dla przyszłego standardu we wcześniejszym standardzie?
- 25. Jak zaktualizować plik we wszystkich gałęziach repozytorium Git
- 26. MySQL - Czy można używać LIKE we wszystkich kolumnach tabeli?
- 27. Pokaż oryginalną gałąź zatwierdzenia
- 28. Zastosowanie tego samego CFBundleVersion i CFBundleShortVersionString we wszystkich celach
- 29. Powielone sprawdzanie poprawności we wszystkich obiektach i modelach formularzy
- 30. Ciągłe, zapętlone, przewijane treści we wszystkich kierunkach
Możliwy duplikat: http://stackoverflow.com/questions/ 746684/how-to-search-through-all-commit-in-the-repository –