我知道我可以用meld .
查看头部和当前状态之间的差异。但是如何查看分支之间的差异,例如使用meld查看master
和devel
之间的差异?
目前,我执行以下步骤:
例如,再次mv /projectA /projectA_master
)
git clone url
devel
分支cd projectA && git -b devel origin/devel
meld /projectA_Master projectA
在meld中没有更简单的方法来获得相同的结果吗?我只需要它来审查更改,而不是主要用于合并。
发布于 2010-11-30 17:24:42
我还发现这个问题很烦人,所以我制作了git meld,它允许以一种更舒适的方式来区分工作树或临时区域中的任意提交。你可以在https://github.com/wmanley/git-meld上找到它。它有点像Mark的脚本,但用于将任意提交、临时区域或工作目录与其他任何内容进行比较。如果您比较的对象之一是工作树,那么它也是可读写的,这样您就不会丢失您的更改。
发布于 2010-01-05 21:21:43
简短和贴心:
git config --global diff.tool meld
这将Git配置为使用meld
作为比较工具。(您不需要指定命令行参数,对meld
的支持是内置在Git中的。)
然后,如果您想要图形化的diff而不是文本的diff,那么只需调用git difftool
而不是git diff
(它们都接受相同的参数)。在您的案例中:
git difftool master..devel
更新:如果您不想要一次一个文件的差异,而是希望使用meld的“子目录”视图以及两个分支之间的所有更改,请注意git difftool
的-d
或--dir-diff
选项。例如,当我在分支XYZ上,我想看看这个分支和分支ABC之间有什么不同,我运行以下命令:
git difftool -d ABC
发布于 2012-10-10 17:11:14
从GITV1.7.11开始,您可以使用git difftool --dir-diff
执行目录比较。它与没有https://github.com/wmanley/git-meld脚本的meld一起工作得很好。
配置git
git config --global diff.tool meld
使用它
git difftool -d topic // -d is --dir-diff
git difftool -d master..topic
对于macOS
brew cask install meld
git config --global difftool.meld.cmd 'open -W -a Meld --args \"$LOCAL\" \"$PWD/$REMOTE\"'
git config --global difftool.meld.trustExitCode true
https://stackoverflow.com/questions/2006032
复制相似问题