如果我有一个带有最新提交的文件,如下所示:
class A {
String name = "Mary";
}
在特定的提交中, String name = "Mary";
从 String name = "Bob"
. 问题是,这条线已经修改了几次(一次是"John"
,另一次是"Adam"
)所以git blame
没有用。使用 Git,除了挖掘日志之外,找出最后一次提交的字符串名称 = "Bob" 是什么的最简单方法是什么。
如果我有一个带有最新提交的文件,如下所示:
class A {
String name = "Mary";
}
在特定的提交中, String name = "Mary";
从 String name = "Bob"
. 问题是,这条线已经修改了几次(一次是"John"
,另一次是"Adam"
)所以git blame
没有用。使用 Git,除了挖掘日志之外,找出最后一次提交的字符串名称 = "Bob" 是什么的最简单方法是什么。
这是我 的命令
git log -p -S <search term>
更多信息
-p 生成补丁(参见生成补丁部分)。
-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.