这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
当前回答
如果你使用优秀的WebStorm编辑器,你可以与任何你想要的分支进行比较:
其他回答
如果你使用的是OSX或Windows 7+, Atlassian SourceTree可以很好地解决这个问题。它是免费的。
您可以在并排的diff设置中看到分阶段的更改,并且可以轻松地将本地分支与远程分支和任何其他两个分支进行比较。当选择多个文件时,差异显示如下:
假设你已经签出了一个功能分支,你想要查看与'master'的差异,右键单击'master'分支并选择“diff against current”。
不幸的是,它似乎不会很快出现在*nix发行版中。
如果你正在使用github,你可以使用这个网站:
github.com/url/to/your/repo/compare/SHA_of_tip_of_one_branch...SHA_of_tip_of_another_branch
这将向你展示两者的比较。
如果您使用Eclipse,您可以直观地比较工作区中的当前分支与另一个标记/分支:
为了看到两个分支之间所有差异的可视化差异,我喜欢合并两个分支-不提交合并-然后使用git gui或git Extensions来获得差异的概述。
Git命令行用于合并而不提交:
git checkout branchA git merge --no-commit --no-ff branchB
完成后,可以撤消与的合并
git merge --abort
(h/t @jcugat’s的评论)
如果您正在使用Intellij Idea IDE,您可以只使用分支中的比较选项。