我想使用meld作为git的差异工具。
如果我像这样配置.gitconfig
:
[difftool]
prompt = false
[diff]
tool = meld
并运行命令:$ git difftool
然后git为每个有变化的文件打开一个meld窗口。
但我希望在meld列表框中显示包含所有文件的单个窗口。
我已经阅读了一些关于-d
或--dir-diff
选项的内容
当我尝试:$ git difftool -d
然后在每个融合部分打开一个窗口,其中一个目录树,但是包含空目录
我无法从这里打开文件。
有关信息:
$ git --version
git version 1.9.1
$ meld --version
meld 1.8.4
$ lsb_release -d
Description: Ubuntu 14.04.2 LTS
我也在使用git svn
,但我不认为这与我的问题有关;因为据我所知git-svn,我的目录是一个简单的git目录。
答案 0 :(得分:13)
我通过删除meld并使用它的新版本(3.12.3)解决了我的问题:
sudo apt-get remove meld
现在我的.gitconfig
就像:
[difftool]
prompt = false
[diff]
tool = meld
guitool = meld
[difftool "meld"]
path = /home/me/App/meld/meld-3.12.3/bin/meld
以下命令的结果是:
git diff
:每个修改过的文件的终端差异git diff <myfile>
:<myfile>
git difftool <myfile>
:meld diff of <myfile>
git difftool
:meld diff每个修改过的文件,一个接一个git difftool -d
:将每个文件的差异合并到一个窗口中我还将此行添加到我的bash_alias
,但我认为它可以不用。
alias meld='/home/benjamin/Applications/meld/meld-3.12.3/bin/meld'