这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
当前回答
如果你使用优秀的WebStorm编辑器,你可以与任何你想要的分支进行比较:
其他回答
尝试“difftool”(假设你有diff工具设置)-见https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html
我发现名称状态良好的摘要,但difftool将迭代的变化(和-d选项给你的目录视图),例如。
$ git difftool their-branch my-branch
Viewing: 'file1.txt'
Launch 'bc3' [Y/n]:
...
或者像@rsilva4提到的-d和默认到你当前的分支,它只是-例如比较到master:
$ git difftool -d master..
...是的,有很多变体——https://www.kernel.org/pub/software/scm/git/docs/git-reset.html
在GitExtensions中,你可以用Ctrl键在修订网格中选择两个分支。然后,您可以看到这些分支之间不同的文件。当你选择一个文件时,你会看到它的diff。
从这里开始
或者您可以右键单击任何修订,并选择比较>比较分支…
然后你可以选择与哪个分支进行比较:
最后,您会看到一个Diff窗口,列出两个分支之间不同的文件,对于每个文件,它都会显示一个Diff视图。
如果您使用Eclipse,您可以直观地比较工作区中的当前分支与另一个标记/分支:
看看git show-branch
你可以用git的核心功能做很多事情。在你的可视化差异中指定你想要包含的内容可能会很好。大多数答案关注的是逐行提交的差异,而你的例子关注的是在给定提交中受影响的文件的名称。
似乎没有解决的一个可视化问题是如何查看分支包含的提交(无论是共同的还是唯一的)。
对于这个视觉效果,我非常喜欢git show-branch;它将每个分支的提交分解成一个组织良好的表,返回到公共祖先。 -在一个有多个分支和分歧的回购上尝试它,只需输入git show-branch并检查输出 -关于示例的详细介绍,请参见Git分支之间的比较提交
使用带范围的git diff。
git diff branch1..branch2
这将比较每个分支的尖端。
如果你真的想要一些GUI软件,你可以尝试一些像SourceTree这样支持Mac OS X和Windows的软件。