这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
这个答案对于查看签入git的两个文件之间的视觉差异非常有用: 我如何查看'git diff'输出与一个可视化的diff程序?
然而,我希望看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
这不是很有信息量,也不是很直观。
还有更好的吗?
当前回答
你也可以使用vscode来比较使用CodeLense扩展的分支,这已经在这个SO中回答了:如何在Visual studio代码中比较不同的分支
其他回答
如果你正在使用github,你可以使用这个网站:
github.com/url/to/your/repo/compare/SHA_of_tip_of_one_branch...SHA_of_tip_of_another_branch
这将向你展示两者的比较。
你也可以使用vscode来比较使用CodeLense扩展的分支,这已经在这个SO中回答了:如何在Visual studio代码中比较不同的分支
看看git show-branch
你可以用git的核心功能做很多事情。在你的可视化差异中指定你想要包含的内容可能会很好。大多数答案关注的是逐行提交的差异,而你的例子关注的是在给定提交中受影响的文件的名称。
似乎没有解决的一个可视化问题是如何查看分支包含的提交(无论是共同的还是唯一的)。
对于这个视觉效果,我非常喜欢git show-branch;它将每个分支的提交分解成一个组织良好的表,返回到公共祖先。 -在一个有多个分支和分歧的回购上尝试它,只需输入git show-branch并检查输出 -关于示例的详细介绍,请参见Git分支之间的比较提交
更新
麦克:我现在用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
如果你使用的是OSX或Windows 7+, Atlassian SourceTree可以很好地解决这个问题。它是免费的。
您可以在并排的diff设置中看到分阶段的更改,并且可以轻松地将本地分支与远程分支和任何其他两个分支进行比较。当选择多个文件时,差异显示如下:
假设你已经签出了一个功能分支,你想要查看与'master'的差异,右键单击'master'分支并选择“diff against current”。
不幸的是,它似乎不会很快出现在*nix发行版中。