这个答案非常适合查看通过git检入的两个文件的视觉差异: 如何使用可视化差异程序查看'git diff'输出?
但是,我想看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
目前的描述不够详细,也不够具有可视化效果。
有没有更好的替代方案?
这个答案非常适合查看通过git检入的两个文件的视觉差异: 如何使用可视化差异程序查看'git diff'输出?
但是,我想看到两个分支之间的视觉差异。到目前为止,我最好的选择似乎是:
git diff --name-status master dev
目前的描述不够详细,也不够具有可视化效果。
有没有更好的替代方案?
git difftool -t meld branch1..branch2
。 - teichertgit gui
或 git Extensions 来概览差异。git checkout branchA git merge --no-commit --no-ff branchB完成后,您可以使用以下命令撤消合并:
git merge --abort(感谢@jcugat的评论)
git gui
中,它将冲突显示为未暂存的,非冲突则显示为已暂存的,因此你可以得到很好的区分。对我来说比排名第一的答案更有帮助 :D - DJGummikuh如果您正在使用Intellij Idea IDE,您可以在分支中使用比较选项。
你也可以使用gitk很容易地完成这个操作。
> gitk branch1 branch2
首先点击 branch1 的顶端。现在右键点击 branch2 的顶端,选择 Diff this->selected。
gitk branch1..branch2
命令只会显示两个版本之间的提交记录。 - T3rm1如果你正在使用TortoiseGit,且操作系统为Windows,那么可以通过以下比较隐晦的功能进行可视化比较:
Shift
并右键点击该文件夹Ctrl
并选择要比较的两个分支如果您已经设置了diff工具,请尝试使用" difftool" - 请参见https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html
我发现name status对于摘要很好,但是difftool将迭代更改(并且-d
选项会为您提供目录视图),例如:
$ git difftool their-branch my-branch
Viewing: 'file1.txt'
Launch 'bc3' [Y/n]:
...
或者,正如@rsilva4提到的那样,使用-d
并默认使用当前分支,例如与主分支进行比较:
$ git difftool -d master..
......是的,有许多变化- https://www.kernel.org/pub/software/scm/git/docs/git-reset.html
git difftool -d their-abc my-abc
。 - rsilva4取自 here
或者您可以右键单击任何修订版本,然后选择比较 > 比较分支...
接下来,您可以选择要与哪个分支进行比较:
然后,您会得到一个差异窗口,列出了两个分支之间不同的文件,并为每个文件显示差异视图。
如果您正在使用 GitHub,您可以使用该网站执行此操作:
github.com/url/to/your/repo/compare/SHA_of_tip_of_one_branch...SHA_of_tip_of_another_branch
这将展示给您两个分支的比较结果。
github.com/url/to/your/repo/compare/
,然后您就可以选择分支。 - caramba更新
Mac: 我现在使用SourceTree。强烈推荐。我特别喜欢你可以分阶段/取消分阶段的方式。
Linux: 我已经成功地使用了以下工具:
meld
例如,在Ubuntu上安装smartgit
:
.deb
文件这个工具可以完成任务:
使用GUI diff工具如meld来运行git-diffall。请参阅此处的第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