为什么git log with --follow和--reverse只返回最后一次提交?

Shu*_*ker 10 git

我想从反向运行开始查看文件的所有提交

git log --reverse [file]
Run Code Online (Sandbox Code Playgroud)

它按预期工作.但对于重命名的文件,它只显示在重命名的提交中,所以我在其中添加了--follow.

git log --reverse --follow [file]
Run Code Online (Sandbox Code Playgroud)

但它现在只显示为该文件完成的最后一次提交.

如何将两者结合起来以获得所需的结果.

Dav*_*sch 8

这似乎是git中已知的bug.我能看到的唯一工作就是如果你知道之前命名的文件是什么,将它与当前文件一起传递给命令,即

 git log --reverse --follow -- oldfilename currentfilename
Run Code Online (Sandbox Code Playgroud)

编辑:以下将执行您想要的操作:

git log --name-only --pretty="format:"  --follow <filename> | sort -u | xargs git log --reverse --
Run Code Online (Sandbox Code Playgroud)