我正在试图找到一个提交,它删除了两个修订之间的一行。我无法直接找到它。
这就是我在以下方面所做的尝试:
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首先,在某些情况下,我找不到包含该行(或不存在)的函数。在第二种方法中,可以在几种情况下重复字符串,我需要检查所有这些。
我需要一个更好的方法来找到删除行的提交。
发布于 2018-03-14 06:00:50
我通常使用pickaxe search
git log -SFoo -- path_containing_change 该列表列出了引入字符串Foo的提交,但也列出了删除Foo的提交。
是的,使用这种方法,您需要检查这些提交,以确定添加或删除哪个Foo。
https://stackoverflow.com/questions/49266737
复制相似问题