这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
当前回答
为了看到两个分支之间所有差异的可视化差异,我喜欢合并两个分支-不提交合并-然后使用git gui或git Extensions来获得差异的概述。
Git命令行用于合并而不提交:
git checkout branchA git merge --no-commit --no-ff branchB
完成后,可以撤消与的合并
git merge --abort
(h/t @jcugat’s的评论)
其他回答
如果您使用Eclipse,您可以直观地比较工作区中的当前分支与另一个标记/分支:
在GitExtensions中,你可以用Ctrl键在修订网格中选择两个分支。然后,您可以看到这些分支之间不同的文件。当你选择一个文件时,你会看到它的diff。
从这里开始
或者您可以右键单击任何修订,并选择比较>比较分支…
然后你可以选择与哪个分支进行比较:
最后,您会看到一个Diff窗口,列出两个分支之间不同的文件,对于每个文件,它都会显示一个Diff视图。
更新
麦克:我现在用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
对于那些在Windows上使用TortoiseGit的人来说,你可以通过这个相当晦涩的功能来进行一些直观的比较:
导航到要比较的文件夹 按住shift并右键单击它 去TortoiseGit ->浏览参考 使用ctrl选择两个分支进行比较 右键单击你的选择,点击“比较选定的参考”
来源:http://wikgren.fi/compare-diff-branches-in-tortoise-git-or-how-to-preview-changes-before-doing-a-merge/
您也可以使用gitk轻松地做到这一点。
> gitk branch1 branch2
首先单击branch1的顶端。现在右键单击branch2的尖端,并选择Diff this->selected。