为什么使用 --follow 和 --reverse 参数的 git log 命令只返回最后一个提交记录?

14

我想要倒序查看某个文件从一开始的所有提交记录

我运行了以下命令:

git log --reverse [file]

它运行得很顺利。但对于被重命名的文件,它只显示从重命名的提交开始的内容,因此我添加了--follow。

git log --reverse --follow [file]

但现在它只显示了该文件的最后一个提交。

我该如何将两者结合以获得所需的结果。

1个回答

11

这似乎是git中的已知bug。我唯一能想到的解决方法是,如果你知道文件之前的名称,就将其与当前文件一起传递给命令,即

 git log --reverse --follow -- oldfilename currentfilename

编辑:以下代码将实现您想要的功能:

git log --name-only --pretty="format:"  --follow <filename> | sort -u | xargs git log --reverse --

如果文件被重命名多次怎么办? - Shub
如何使用“-p”查看更改? - Shub
@Shubanker,你可以在最后一个“--”之前添加任何选项。 - David Deutsch
链接已经失效。这仍然是一个错误吗,还是已经在发布后修复了? - Annan Yearian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接