这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?

然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:

git diff --name-status master dev

这不是很有信息量,也不是很直观。

还有更好的吗?


当前回答

您也可以使用gitk轻松地做到这一点。

> gitk branch1 branch2

首先单击branch1的顶端。现在右键单击branch2的尖端,并选择Diff this->selected。

其他回答

对于那些在Windows上使用TortoiseGit的人来说,你可以通过这个相当晦涩的功能来进行一些直观的比较:

导航到要比较的文件夹 按住shift并右键单击它 去TortoiseGit ->浏览参考 使用ctrl选择两个分支进行比较 右键单击你的选择,点击“比较选定的参考”

来源:http://wikgren.fi/compare-diff-branches-in-tortoise-git-or-how-to-preview-changes-before-doing-a-merge/

如果你正在使用github,你可以使用这个网站:

github.com/url/to/your/repo/compare/SHA_of_tip_of_one_branch...SHA_of_tip_of_another_branch

这将向你展示两者的比较。

更新

麦克:我现在用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

如果你使用优秀的WebStorm编辑器,你可以与任何你想要的分支进行比较:

你也可以使用Perforce中的免费P4Merge来做到这一点:

http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools

关于将其与Git集成的详细信息可以在这里和这里找到

但从以上链接中快速总结如下:

在~/中放入以下位。然后你可以用$ git mergetool和$ git difftool来使用p4merge 注意$ git diff仍然会使用默认的内联diff查看器:)(git版本1.8.2测试)

.gitconfig的更改

[merge]
  keepBackup = false
    tool = p4merge
[mergetool "p4merge"]
    cmd = /Applications/p4merge.app/Contents/Resources/launchp4merge "\"$PWD/$BASE\"" "\"$PWD/$REMOTE\"" "\"$PWD/$LOCAL\"" "\"$PWD/$MERGED\""
    keepTemporaries = false
    trustExitCode = false
    keepBackup = false
[diff]
    tool = p4merge
[difftool "p4merge"]
    cmd = /Applications/p4merge.app/Contents/Resources/launchp4merge "\"$REMOTE\"" "\"$LOCAL\""