这个答案很适合在两个检查到git的文件之间看到视觉差异: 如何使用visual diff程序查看'git diff'输出?
但是,我希望看到两个分支之间的视觉差异.到目前为止,我最好的选择似乎是:
git diff --name-status master dev
Run Code Online (Sandbox Code Playgroud)
这不是很有用,也不是很直观.
那里有什么更好的吗?
ale*_*lex 220
git diff branch1..branch2
Run Code Online (Sandbox Code Playgroud)
这将比较每个分支的提示.
如果你真的想要一些GUI软件,你可以尝试像支持Mac OS X和Windows的SourceTree.
Tor*_*tad 93
为了看到两个分支之间所有差异的视觉差异,我想合并两个分支 - 没有提交合并 - 然后使用git gui或git扩展来获得差异的概述.
用于合并而不提交的Git命令行:
git checkout branchA git merge --no-commit --no-ff branchB
完成后,您可以撤消合并
git merge --abort
(h/t @ jcugat的评论)
Mar*_*tin 45
您也可以使用gitk轻松完成此操作.
> gitk branch1 branch2
Run Code Online (Sandbox Code Playgroud)
首先单击branch1的提示.现在右键单击branch2的尖端,然后选择Diff this-> selected.
Ove*_*rch 29
对于那些使用TortoiseGit的Windows用户,你可以通过这个相当模糊的功能进行一些视觉比较:
shift并右键单击它ctrl选择两个分支比较资料来源:http://wikgren.fi/compare-diff-branches-in-tortoise-git-or-how-to-preview-changes-before-doing-a-merge/
Jor*_*ker 20
如果您使用的是OSX或Windows 7+,Atlassian SourceTree可以很好地使用它.这是免费的.
您可以在并排差异设置中查看分阶段更改,并轻松地将本地与远程和任何其他两个分支进行比较.选择多个文件时,差异显示如下:

假设您已经签出了一个功能分支,并且想要查看与"master"相关的差异,请右键单击"master"分支并选择"Diff against current"
不幸的是,它似乎不会很快在*nix发行版上提供.
Pau*_*ler 15
尝试"difftool"(假设您有diff工具设置) - 请参阅https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html
我发现摘要的名称状态很好,但difftool将迭代更改(并且该-d选项为您提供目录视图),例如
$ git difftool their-branch my-branch
Viewing: 'file1.txt'
Launch 'bc3' [Y/n]:
...
Run Code Online (Sandbox Code Playgroud)
或者正如@ rsilva4所提-d及的那样默认为当前分支它只是 - 例如与master相比:
$ git difftool -d master..
Run Code Online (Sandbox Code Playgroud)
......是的 - 有很多变化 - https://www.kernel.org/pub/software/scm/git/docs/git-reset.html
如果您正在使用github,您可以使用该网站:
github.com/url/to/your/repo/compare/SHA_of_tip_of_one_branch...SHA_of_tip_of_another_branch
这将显示两者的比较.
UPDATE
我现在使用SourceTree.彻底推荐.我特别喜欢你可以上演/解开帅哥的方式.
这样做的工作:
使用像meld这样的GUI diff工具的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
| 归档时间: |
|
| 查看次数: |
206758 次 |
| 最近记录: |