3 回答

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果要查找提交消息包含給定單詞的所有提交,請(qǐng)使用
$ 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)容)。
請(qǐng)注意,-G
默認(rèn)情況下接受正則表達(dá)式,同時(shí)-S
接受字符串,但可以修改為接受正則表達(dá)式使用--pickaxe-regex
。
為了說明之間的區(qū)別
-S<regex> --pickaxe-regex
,并-G<regex>
考慮在同一個(gè)文件中的以下DIFF提交:+ return !regexec(regexp, two->ptr, 1, ®match, 0);...- hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);雖然
git log -G"regexec\(regexp"
會(huì)顯示此提交,但git log -S"regexec\(regexp" --pickaxe-regex
不會(huì)(因?yàn)樵撟址某霈F(xiàn)次數(shù)沒有改變)。

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
經(jīng)過大量的實(shí)驗(yàn),我可以推薦以下內(nèi)容,它顯示引入或刪除包含給定正則表達(dá)式的行的提交,并在每個(gè)中顯示文本更改,顏色顯示添加和刪除的單詞。
git log --pickaxe-regex -p --color-words -S "<regexp to search for>"
需要一段時(shí)間才能運(yùn)行... ;-)
- 3 回答
- 0 關(guān)注
- 526 瀏覽
添加回答
舉報(bào)