假设提交X更改了文件foo.java的第500行。我希望看到所有改变了这一行的过去提交。
受到this thread的启发,我了解自从git 1.8.4起,我们可以使用-L
的{{1}}选项来查看特定行范围的演变。所以我使用git log
然而,我收到错误
文件foo.java只有450行
我怀疑原因是我的git log -L 500,500:foo.java
命令在HEAD上运行。但是在提交X和HEAD之间,文件foo.java已被修改,最终只有450行。
那么,我如何才能从提交X中获取所有已更改此行500的提交?
答案 0 :(得分:0)
您可以使用git rev-list
windows(使用Gnu在Windows上执行xargs命令)
git rev-list HEAD|xargs git log -1 -L 500,500:foo.java 2>NUL
Unix的:
git rev-list HEAD|xargs git log -1 -L 500,500:foo.java 2>/dev/null