【发布时间】:2018-03-13 22:17:56
【问题描述】:
我正在尝试查找删除两个修订之间的一条线的提交。直接没找到。
这是我在以下尝试的:
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
首先,在某些情况下,我找不到包含该行的函数(或者它不存在)。在第二种方法中,字符串可能会在几种情况下重复,我需要查看所有情况。
我需要一种更好的方法来找到删除该行的提交。
【问题讨论】:
-
git log -G我相信这就是你要找的:) -
但这仍然是同样的问题,因为“git log -G”将返回具有类似字符串修改的提交。我可以有几个提交作为回报(相同的字符串,例如(“return 0”))......
-
对不起,但没有帮助,我应用了大多数关于这个问题的回复中的策略......