ubuntu上的git difftool只在终端上返回diff,不带meld

时间:2018-07-24 01:57:30

标签: git git-diff meld git-difftool

  1. 我已经在ubuntu机器上安装了Meld,并且能够使用Meld打开文件。
  2. 我按照Setting up and using Meld as your git difftool and mergetool的回答设置了gifftool以使用融合。
  3. 以下是我的git配置:

    diff.tool=meld
    difftool.prompt=false
    difftool.meld.cmd=meld $LOCAL $REMOTE
    
  4. 当我尝试时: git difftool 我在终端上得到的差异类似于git diff的输出。

我非常感谢您的帮助! 我需要其他脚本吗?为什么对我不起作用?

1 个答案:

答案 0 :(得分:1)

测试0

让我们测试meld是否有效

您可以在控制台中运行meld吗?

tymatm@XXX:/mnt/c/git/sandbox$ meld

测试1

让我们测试一下设置工具是否有效。

tymatm@XXX:/mnt/c/git/sandbox$ git config --global diff.tool meld

然后:

tymatm@XXX:/mnt/c/git/sandbox$ git difftool

Viewing (1/2): '1.txt'
Launch 'meld' [Y/n]:

来自Configuring diff tool with .gitconfig

测试1.5

自测试1失败以来添加

让我们尝试本地配置,而不是全局配置

tymtam@XYZ:/mnt/c/git/sandbox$ git config diff.tool meld
tymtam@XYZ:/mnt/c/git/sandbox$ git config difftool.prompt true
tymtam@XYZ:/mnt/c/git/sandbox$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
[diff]
        tool = meld
[difftool]
        prompt = true
tymtam@XYZ:/mnt/c/git/sandbox$ git difftool

Viewing (1/2): '1.txt'
Launch 'meld' [Y/n]: n

测试2

让我们测试cmd=部分是否有效。

vi ~/.gitconfig

在这里,我使用一个简单的echo来验证配置是否有效-在最终设置中,命令为cmd = meld XXX

enter image description here

tymtam@XXX:/mnt/c/git/sandbox$ git difftool

Viewing (1/2): '1.txt'
Launch 'meld' [Y/n]: y
/tmp/VuquIm_1.txt 1.txt

Viewing (2/2): '2.txt'
Launch 'meld' [Y/n]: y
/tmp/drAZtV_2.txt 2.txt
tymek@LAPTOP-B0OQU3LB:/mnt/c/git/sandbox$

测试3

echo替换~/.gitconfig中的meld