2010-09-29 3 views
220

Olası Çoğalt:
How to search through all commits in the repository?Komut satırı kullanarak taahhüt mesajları nasıl aranır?

başlıkları komut satırını kullanarak kesinleştirme arama için bir yol var mı?

+5

, diğer bir soru ** bu değildir iken ** kaydedilmesini sarkan sorar. Yeniden açılmak için oylama. – sashoalm

+0

Ah. Ancak bu bir kopyasıdır (http://stackoverflow.com/questions/7124914/how-to-search-a-git-repository-by-commit-message). Bu eski soru olsa da, daha yeni olan daha iyi cevaplar imho vardır. Keşke tekrar oylama işlemini iptal edebilirdim. – cfi

cevap

314
git log --grep=<pattern> 
    Limit the commits output to ones with log message that matches the 
    specified pattern (regular expression). 

- Bu gerçekten bir kopya değil git help log

+3

üzerinde iyi çalışıyor Bu sorunun kısmen yanlış olduğunu düşünüyorum çünkü '--grep' seçeneği sadece başlık yerine tüm taahhüt mesajını arar. @ czchen'in cevabı bu durumda daha doğrudur. – pedromanoel

+10

czchen cevabının harici bir grep yardımcı programının kullanılmasını gerektirdiği gerçeği hariç –

+0

Bu bana çok yardımcı oldu, ack-grep kullanmadan önce. –

160
git log --oneline | grep PATTERN 
+11

Bu kabul edilen cevap olmalı! – pedromanoel

+13

Bu özlem, ilk mesajın dışındaki ilk mesajın içinde PATTERN ile işlem yapmaz mı? – tutuDajuju

+12

grep'in kullanılabilir olmasını gerektirir, yani bu linux/git bash özel bir çözümdür (windows'a grep yüklemediyseniz) –