2012-01-28 11 views
18

Ho un repository git che contiene centinaia di commit e diversi rami. Come cercare un commit particolare che contiene una determinata stringa, ad es. "funzione di supporto"? Idealmente, la stringa può essere denotata da un'espressione regolare.Search git Commits Utilizzo di Regex

+5

http://stackoverflow.com/questions/2928584/how-to-grep-in-the-git-history –

risposta

12

crediti vanno a this answer:

git log --all --grep='Build 0051' 

# case insensitive 
git log --all --grep='Build 0051' -i 
+0

Questo sembra per la regex nel messaggio di commit in contrapposizione alla risposta di knittl, dove -G ricerca attraverso la differenza del commit. – staafl

15

versioni più recenti di supporto git git log -G<regex>:

git log -G'helper.*function' --full-history --all 

cercherà per la regex in diff di ogni commettono, e solo visualizzazione commette che ha introdotto un cambiamento che corrisponde alla regex.