Teslim mesajının verilen kelimeyi içerdiği tüm taahhütleri bulmak istiyorsanız ,
$ git log --grep=word
Dosya içeriğinde "word" ifadesinin eklendiği veya kaldırıldığı tüm taahhütleri bulmak istiyorsanız (daha kesin olmak gerekirse : "word" kelimesinin gerçekleşme sayısının değiştiği yer), yani taahhüt içeriğinde arama yapmak için 'kazma' araması ile
$ git log -Sword
Modern git'te ayrıca
$ git log -Gword
eklenen veya kaldırılan satır "kelime" ile eşleşen farklılıkları aramak için (ayrıca içeriği taahhüt ).
Not -G
varsayılan olarak ise, bir normal ifade kabul -S
bir dize kabul eder, ancak kullanarak Regexes kabul etmek değiştirilebilir --pickaxe-regex
.
Arasındaki farkı göstermek için -S<regex> --pickaxe-regex
ve -G<regex>
bir aynı dosyada aşağıdaki fark ile taahhüt göz önünde bulundurun:
+ return !regexec(regexp, two->ptr, 1, ®match, 0);
...
- hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);
git log -G"regexec\(regexp"
Bu taahhüdü gösterecek olsa da, git log -S"regexec\(regexp" --pickaxe-regex
olmayacak (çünkü o dizenin gerçekleşme sayısı değişmedi).
Git 2.25.1 (Şubat 2020) ile dokümantasyon bu normal ifadeler etrafında netleştirilir.
Bakınız Martin Ågren (``) tarafından 9299f84 (06 Şub 2020) taahhüdü . (Göre Birleştirilmiş - Junio Cı Hamano - içinde 0d11410 tamamlama 2020 12 Şubat)
gitster
diff-options.txt
: örnekte "normal ifade" aşırı yüklenmesinden kaçının
Rapor eden: Adam Dinwoodie
İmzalayan: Martin Ågren
İnceleyen: Taylor Blau
-G
Ve -S
(kullanarak --pickaxe-regex
) arasındaki farkı örneklediğimizde, bunu git diff
"regexec", "regexp", "regmatch", ...
Örnek doğrudur, ancak gerçekten ifade etmemiz gerekmedikçe "regex. *" Yazmaktan kaçınarak çözmeyi kolaylaştırabiliriz.
Bunun yerine bazı düzenli, normal olmayan kelimeler kullanın.
git diff
Dokümantasyon şimdi içerir:
Arasındaki farkı göstermek için -S<regex> --pickaxe-regex
ve
-G<regex>
bir aynı dosyada aşağıdaki fark ile taahhüt göz önünde bulundurun:
+ return frotz(nitfol, two->ptr, 1, 0);
...
- hit = frotz(nitfol, mf2.ptr, 1, 0);
git log -G"frotz\(nitfol"
Bu taahhüdü gösterecek olsa da, git log
-S"frotz\(nitfol" --pickaxe-regex
olmayacak (çünkü o dizenin gerçekleşme sayısı değişmedi).