这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
当前回答
下面是如何在visual Studio中看到整个提交与单个文件之间的视觉差异(在VS 2017中测试)。不幸的是,它只适用于一个分支中的提交:在“团队资源管理器”中,选择“分支”视图,右键单击回购,并选择“查看历史”,如下图所示。
然后,当前分支的历史记录出现在主区域中。(之前在当前分支上提交的分支被标记为标签。)现在用Ctrl-Left选择几个提交,然后右键单击并从弹出菜单中选择“Compare commit…”。
有关在Microsoft世界中比较分支的更多信息,请参阅这个stackoverflow问题:使用Visual Studio的git分支之间的差异。
其他回答
你也可以使用vscode来比较使用CodeLense扩展的分支,这已经在这个SO中回答了:如何在Visual studio代码中比较不同的分支
如果您正在使用Intellij Idea IDE,您可以只使用分支中的比较选项。
更新
麦克:我现在用SourceTree。彻底的建议。我特别喜欢你摆/摆帅哥的方式。
Linux:我成功地使用过:
smartgit GitKraken 注册
例如,在Ubuntu上安装smartgit:
从https://www.syntevo.com/smartgit/download/下载。deb 安装sudo DPKG -i /path/to/deb '
这是可行的:
git-diffall使用GUI diff工具,如meld。见第5点:
http://rubyglazed.com/post/15772234418/git-ify-your-command-line
这里有一篇关于git和meld的好文章:http://nathanhoad.net/how-to-meld-for-git-diffs-in-ubuntu-hardy
在GitExtensions中,你可以用Ctrl键在修订网格中选择两个分支。然后,您可以看到这些分支之间不同的文件。当你选择一个文件时,你会看到它的diff。
从这里开始
或者您可以右键单击任何修订,并选择比较>比较分支…
然后你可以选择与哪个分支进行比较:
最后,您会看到一个Diff窗口,列出两个分支之间不同的文件,对于每个文件,它都会显示一个Diff视图。
使用带范围的git diff。
git diff branch1..branch2
这将比较每个分支的尖端。
如果你真的想要一些GUI软件,你可以尝试一些像SourceTree这样支持Mac OS X和Windows的软件。