2012-08-08 58 views

回答

2

每布賴恩的回答,git blame會告訴你最近的提交/提交修改的線條,但如果你想跟蹤一路行來回顧歷史,你想要的「鶴嘴鋤搜索」:

-S<string> 
Look for differences that introduce or remove an instance of <string>. Note that this is different than the string simply appearing in diff output; see 
the pickaxe entry in gitdiffcore(7) for more details. 

假設您想在文件TroublingClass中找到字符串methodFoo的整個歷史記錄。你可以使用一個git log如下命令:

git log -S"methodFoo" -- TroublingClass 

-S標誌只是沒有得到應有的重視。當歸因於錯誤或調查錯誤歷史時,它非常有用。

+0

我試過這個,但是看起來這個字符串不應該太複雜,否則會返回沒有結果。例如 – 2012-08-10 01:56:43

+0

:字符串「update(frame_t frameNumber)」不能。 – 2012-08-10 01:57:30

+0

您可能需要轉義某些字符。嘗試轉義'\('如果這不起作用,請使用'標記而不是')。 – Christopher 2012-08-10 11:54:22

2

git blame將識別最後修改的每個行誰在文件/修訂中的每行

相關問題