当path改变时,两个分支之间的git diff

我需要了解两个版本之间由我当前的主和分支new_branch表示的文件更改。 通常,如果两个分支中的path/名称相同,我将运行以下命令。

git diff new_branch – path/文件

当两个分支之间的path/文件不同时我该怎么办?

我可以备用并创build另一个克隆的存储库并检出new_branch。 然后做unix的sdiff。 我只是想知道,git diff的作者是否预计到这种情况,并build立了一些东西来处理它。

– 谢谢, – 迈克尔

Git没有真正的移动/重命名/复制文件的概念,但它有启发式的尝试和检测这些情况,然后以一个很好的方式显示它们。

也就是说,可以指示git-diff通过传递-M标志来使用这些启发式来检测重命名。 有了这个,你可以尝试

 git diff -M new_branch -- new-path/file old-path/file 

看看它是否适用于你的具体情况。 此外, git diff -M --stat new_branch会给你一个概述的变化,并告诉你什么重命名Git的启发式拾取。