3 回答

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊
你可以做:
git log -S <whatever> --source --all
查找添加或刪除固定字符串的 所有提交whatever。該--all參數(shù)意味著從每個(gè)分支開始,并且--source意味著顯示哪些分支導(dǎo)致找到該提交。添加-p以顯示每個(gè)提交也將引入的補(bǔ)丁通常很有用。
自1.7.4以來的git版本也有類似的-G選項(xiàng),它采用正則表達(dá)式。這實(shí)際上有不同(而且更明顯)的語(yǔ)義,在Junio Hamano的博客文章中有所解釋。
正如thameera在評(píng)論中指出的那樣,如果它包含空格或其他特殊字符,則需要在搜索詞周圍加上引號(hào),例如:
git log -S 'hello world' --source --all
git log -S "dude, where's my car?" --source --all
這是一個(gè)-G用于查找出現(xiàn)次數(shù)的示例function foo() {:
git log -G "^(\s)*function foo[(][)](\s)*{$" --source --all

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
--reverse也很有幫助,因?yàn)槟枰M(jìn)行更改的第一個(gè)提交:
git log --all -p --reverse --source -S 'needle'
這樣,舊的提交將首先出現(xiàn)。

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
用相同的答案搞清楚:
$ git config --global alias.find '!git log --color -p -S '
!因?yàn)槠渌绞?,git不能正確地將參數(shù)傳遞給-S??吹竭@個(gè)回復(fù)
--color和-p有助于準(zhǔn)確顯示“whatchanged”
現(xiàn)在你可以做到
$ git find <whatever>
要么
$ git find <whatever> --all
$ git find <whatever> master develop
- 3 回答
- 0 關(guān)注
- 611 瀏覽
添加回答
舉報(bào)