查找删除两个修订之间的行的提交
Find commit that deleted a line between two revision
我试图找到删除两个修订之间的一行的提交。直接没找到
这是我在下面尝试的:
git blame $v1..$v2 -L $line,+1 --reverse -- $file_name
然后这个命令行 returns 被删除的行而不是有问题的提交。我使用这些方法搜索这个字符串:
1- 在修改了该行所在函数的提交中搜索。
git show $commit:$file | grep -Fq "$st"
2-使用字符串搜索
git log $v1...$v2 --pretty=format:"%h" -S"$String" $file
首先,在某些情况下我找不到包含该行的函数(或者它不存在)。在第二种方法中,字符串可能会在几种情况下重复,我需要检查所有这些。
我需要一种更好的方法来找到删除该行的提交。
我一般用pickaxe search
git log -SFoo -- path_containing_change
列出了引入字符串 Foo 的提交,以及 Foo 被 删除 的提交。
是的,使用这种方法,您需要审查这些提交以确定添加或删除哪一个 Foo
.
我试图找到删除两个修订之间的一行的提交。直接没找到
这是我在下面尝试的:
git blame $v1..$v2 -L $line,+1 --reverse -- $file_name
然后这个命令行 returns 被删除的行而不是有问题的提交。我使用这些方法搜索这个字符串:
1- 在修改了该行所在函数的提交中搜索。
git show $commit:$file | grep -Fq "$st"
2-使用字符串搜索
git log $v1...$v2 --pretty=format:"%h" -S"$String" $file
首先,在某些情况下我找不到包含该行的函数(或者它不存在)。在第二种方法中,字符串可能会在几种情况下重复,我需要检查所有这些。
我需要一种更好的方法来找到删除该行的提交。
我一般用pickaxe search
git log -SFoo -- path_containing_change
列出了引入字符串 Foo 的提交,以及 Foo 被 删除 的提交。
是的,使用这种方法,您需要审查这些提交以确定添加或删除哪一个 Foo
.