3 回答

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

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

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