查找删除两个修订版之间的行的提交

时间:2018-03-13 22:17:56

标签: git diff blame

我试图找到删除两个修订版之间的一行的提交。我无法直接找到它。

这是我在下面尝试的内容:

git blame $v1..$v2 -L $line,+1 --reverse -- $file_name

然后此命令行返回已删除的行而不是有问题的提交。我使用这些方法搜索这个字符串:

1-在已经修改了该行所在功能的提交中搜索。

git show $commit:$file | grep -Fq "$st"

2-使用字符串搜索。

git log $v1...$v2 --pretty=format:"%h"  -S"$String" $file

在第一种情况下,我找不到包含该行的函数(或者它不存在)。在第二种方法中,字符串可以在几种情况下重复,我需要检查所有这些字符串。

我需要一种更好的方法来查找删除该行的提交。

1 个答案:

答案 0 :(得分:0)

我通常使用pickaxe search

git log -SFoo -- path_containing_change 

列出了引入字符串Foo的提交,以及Foo被删除的提交
是的,使用这种方法,您需要查看这些提交,以确定添加或删除Foo