如何使用meld审查远程更改.使用git作为dvcs

ftr*_*ers 4 git meld

我在Ubuntu 10.04上使用GIT作为我的DVCS.只需运行:

meld .
Run Code Online (Sandbox Code Playgroud)

在您当前的工作目录中是非常棒的...显示从您的工作文件夹到上次提交的差异.

我希望能够在其他情况下做同样的事情.假设我想在获取远程分支后查看更改?我该怎么办?我怎样才能看出两个地方分支机构之间的差异......我很想知道是否有一种相对简单的方法可以做到这一点.

谢谢.

Mar*_*air 5

如果你喜欢比较文件和解决合并MELD,你应该设置的配置选项diff.tool,并merge.toolmeld

git config diff.tool meld
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用它git difftool master origin/master来查看本地master和最近提取的masterfrom 版本之间的差异origin.但是,这只会一次显示一个文件的差异 - 您必须退出meld并按Enter键以查看下一个文件中的更改.如果你想看到融合中两个分支之间的所有差异,使用它的递归视图,我恐怕没有一种单行方式.

但是,我写了一个简短的脚本来回答一个非常相似的问题,它带有两个refs(例如两个分支),将它们解压缩到临时目录并运行meld来比较两个:

无论如何,如果你刚刚运行,git fetch你可以比较你masterorigin使用该脚本的版本之间的差异:

meld-compare-refs.py master origin/master
Run Code Online (Sandbox Code Playgroud)

...或者比较两个本地分支:

meld-compare-refs.py master topic1
Run Code Online (Sandbox Code Playgroud)