当路径改变时两个分支之间的 git diff

当路径改变时两个分支之间的 git diff

我需要了解当前 master 和分支 new_branch 所代表的两个版本之间的文件更改。通常,如果两个分支中的路径/名称相同,我会运行以下命令。

git diff new_branch --路径/文件

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

我可以回退并创建另一个克隆存储库并签出 new_branch。然后执行 unix 的 sdiff。我只是想知道 git diff 的作者是否预见到了这种情况并内置了一些东西来处理它。

——谢谢,——小迈克。

答案1

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

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

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

看看它是否适用于您的特定情况。此外,git diff -M --stat new_branch还会为您提供更改的概述,并向您展示 Git 的启发式方法拾取了哪些重命名。

相关内容