git log jest ogólnie polecenie używać podczas rozpatrywania popełnić historię. git log --grep
można użyć do wyszukiwania wyrażeń regularnych w wiadomości zatwierdzenia.
Co jesteś po to git log -S
który przeszukuje zawartość popełnienia lub po prostu git log -G
który przeszukuje go z wyrażenia regularnego:
-S Look różnic, które wprowadzają lub usunąć instancję. Zauważ, że jest to coś innego niż string pojawiający się po prostu na wyjściu diff; zobacz wpis kilofa w gitdiffcore (7) po więcej szczegółów.
Tak więc, na przykład, w repozytorium msysgit mogę znaleźć zobowiązują się, że wprowadzono Tcl 8.5.8 przy użyciu:
C:\src\msysgit\src>git log --oneline --grep "8\.5\.8"
d938476 Make `NO_SFX=1 portable-release.sh` work
ef1dc94 Update tk to version 8.5.8
a910049 Update tcl to version 8.5.8
a702d7f tcltk: update to 8.5.8 and exclude release.sh from the cleanup list
który właśnie szukał 8.5.8 w komunikatach popełnienia lub jak chce zrobić patrząc na sznurku, które wystąpiły tylko w zaangażowanej diff:
C:\src\msysgit\src>git log --oneline -S"version=8.5.8"
7be8622 tcltk: update release.sh script for tcl/tk 8.5.9
a702d7f tcltk: update to 8.5.8 and exclude release.sh from the cleanup list
zakresie ograniczania masz w próbce może być nadal używane tutaj do ograniczenia zobowiązuje się do zbadania. Przeczytaj uważnie instrukcję obsługi git, aby uzyskać dobry obraz wszystkich rzeczy, które może zrobić.
Zauważ, że -S
prostu szuka prostych różnic String - jeśli naprawdę chcesz, aby przeszukać zawartość za pomocą wyrażenia regularnego podobny do ciebie przykład należy użyć opcji zamiast -S
-G
ale to będzie znacznie wolniejsze.
możliwy duplikat [Jak grep (szukaj) historii git?] (Http://stackoverflow.com/questions/2928584/how-to-grep-search-the-git-history) –
Hmm żaden z tych Polecenia powiedz mi, z której wersji pochodzi wynik wyszukiwania, a tylko plik, który nastąpił w przypadku zmiany –
. Dla mnie jest to SHA przed nazwą pliku w wynikach. Użyłem pierwszego polecenia w pierwszej odpowiedzi. Odpowiedź [druga odpowiedź] (http://stackoverflow.com/a/2928721/211563) jest prawdopodobnie więcej, czego szukasz, a także daje SHA (pod warunkiem, że format dziennika pokazuje to). –