3 回答
TA貢獻1863條經(jīng)驗 獲得超2個贊
如果要查找提交消息包含給定單詞的所有提交,請使用
$ git log --grep=word
如果你想找到所有在文件內(nèi)容中添加或刪除“word”的提交(更確切地說:“word”的出現(xiàn)次數(shù)發(fā)生變化),即搜索提交內(nèi)容,使用所謂的'pickaxe'搜索
$ git log -Sword
在現(xiàn)代的git中也有
$ git log -Gword
查找添加或刪除的行與“word”匹配的差異(也是提交內(nèi)容)。
請注意,-G默認(rèn)情況下接受正則表達(dá)式,同時-S接受字符串,但可以修改為接受正則表達(dá)式使用--pickaxe-regex。
為了說明之間的區(qū)別
-S<regex> --pickaxe-regex,并-G<regex>考慮在同一個文件中的以下DIFF提交:+ return !regexec(regexp, two->ptr, 1, ®match, 0);...- hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);雖然
git log -G"regexec\(regexp"會顯示此提交,但git log -S"regexec\(regexp" --pickaxe-regex不會(因為該字符串的出現(xiàn)次數(shù)沒有改變)。
TA貢獻1805條經(jīng)驗 獲得超9個贊
經(jīng)過大量的實驗,我可以推薦以下內(nèi)容,它顯示引入或刪除包含給定正則表達(dá)式的行的提交,并在每個中顯示文本更改,顏色顯示添加和刪除的單詞。
git log --pickaxe-regex -p --color-words -S "<regexp to search for>"
需要一段時間才能運行... ;-)
- 3 回答
- 0 關(guān)注
- 554 瀏覽
添加回答
舉報
