首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用meld查看分支的差异?

使用meld查看分支的差异?
EN

Stack Overflow用户
提问于 2010-01-05 20:44:18
回答 8查看 98.8K关注 0票数 174

我知道我可以用meld .查看头部和当前状态之间的差异。但是如何查看分支之间的差异,例如使用meld查看masterdevel之间的差异?

目前,我执行以下步骤:

  1. 重命名工作副本的文件夹

例如,再次mv /projectA /projectA_master)

  • Clone该项目

git clone url

  • Switch到devel分支

cd projectA && git -b devel origin/devel

  • 查看与meld的差异

meld /projectA_Master projectA

在meld中没有更简单的方法来获得相同的结果吗?我只需要它来审查更改,而不是主要用于合并。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-11-30 17:24:42

我还发现这个问题很烦人,所以我制作了git meld,它允许以一种更舒适的方式来区分工作树或临时区域中的任意提交。你可以在https://github.com/wmanley/git-meld上找到它。它有点像Mark的脚本,但用于将任意提交、临时区域或工作目录与其他任何内容进行比较。如果您比较的对象之一是工作树,那么它也是可读写的,这样您就不会丢失您的更改。

票数 60
EN

Stack Overflow用户

发布于 2010-01-05 21:21:43

简短和贴心:

代码语言:javascript
复制
git config --global diff.tool meld

这将Git配置为使用meld作为比较工具。(您不需要指定命令行参数,对meld的支持是内置在Git中的。)

然后,如果您想要图形化的diff而不是文本的diff,那么只需调用git difftool而不是git diff (它们都接受相同的参数)。在您的案例中:

代码语言:javascript
复制
git difftool master..devel

更新:如果您不想要一次一个文件的差异,而是希望使用meld的“子目录”视图以及两个分支之间的所有更改,请注意git difftool-d--dir-diff选项。例如,当我在分支XYZ上,我想看看这个分支和分支ABC之间有什么不同,我运行以下命令:

代码语言:javascript
复制
git difftool -d ABC
票数 351
EN

Stack Overflow用户

发布于 2012-10-10 17:11:14

从GITV1.7.11开始,您可以使用git difftool --dir-diff执行目录比较。它与没有https://github.com/wmanley/git-meld脚本的meld一起工作得很好。

配置git

代码语言:javascript
复制
git config --global diff.tool meld

使用它

代码语言:javascript
复制
git difftool -d topic             // -d is --dir-diff
git difftool -d master..topic

对于macOS

代码语言:javascript
复制
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
票数 108
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2006032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档