git log -S'带换行符的字符串'

时间:2017-06-25 14:57:25

标签: git git-log

我在项目中有以下代码:

someMethodCall();
anotherMethodCall(); //new string

我想查找日志,其中包含两个srings,带有-S参数。 我试过了:

git log -S'someMethodCall();anotherMethodCall()'
git log -S'someMethodCall();%nanotherMethodCall()'
git log -S'someMethodCall();\r\nanotherMethodCall()'
git log -S'someMethodCall();\nanotherMethodCall()'

......但没有成功。

1 个答案:

答案 0 :(得分:1)

git log -S (or -G)不支持像--and这样的git grep指令:请参阅“Fun with "git log --grep"”(这是一个类似的问题)

  

git log --grep”是面向行的   这部分是“git log”系列不支持--and选项的原因。 and语义在“git log”命令的上下文中不是很有用,即使我们将讨论限制在消息部分也是如此

OP Boolean_Type建议in the comments添加--pickaxe-regex option

  

<string>作为扩展POSIX正则表达式的-S视为匹配。

git log -S'(anotherMethodCall\(\);)|(someMethodCall\(\);)' --pickaxe-regex

注意:如果在Windows CMD中完成,请使用双引号:

git log -S"(anotherMethodCall\(\);)|(someMethodCall\(\);)" --pickaxe-regex

从那里,git show可以突出显示添加或删除的行。