我试图找到删除两个修订版之间的一行的提交。我无法直接找到它。
这是我在下面尝试的内容:
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
在第一种情况下,我找不到包含该行的函数(或者它不存在)。在第二种方法中,字符串可以在几种情况下重复,我需要检查所有这些字符串。
我需要一种更好的方法来查找删除该行的提交。
答案 0 :(得分:0)
我通常使用pickaxe search
git log -SFoo -- path_containing_change
列出了引入字符串Foo的提交,以及Foo被删除的提交。
是的,使用这种方法,您需要查看这些提交,以确定添加或删除Foo
。