无法在Git Bash中将Meld设置为差异工具

时间:2019-01-27 15:39:08

标签: windows bash git user-interface meld

有人可以帮助我弄清楚如何在Windows 10的Git Bash上使Meld正常工作吗?我遵循了一些指示,但都没有为我工作。

键入这些命令后,什么都没发生:

git config --global diff.tool meld
git config --global difftool.meld.path "/c/Program Files(x86)/Meld/Meld.exe"
git config --global difftool.prompt false

使用git difftool命令后,出现以下奇怪错误:

git config option diff.tool set to unknown tool: merge
Resetting to default...

This message is displayed because 'diff.tool' is not configured.
See 'git difftool --tool-help' or 'git help config' for more details.
'git difftool' will now attempt to use one of the following tools:
opendiff kdiff3 tkdiff xxdiff meld kompare gvimdiff diffuse diffmerge ecmerge p4merge araxis bc codecompare emerge vimdiff
2 files to edit.

我也尝试过

  • / c / Progra〜2 / meld / bin /
  • ” / c /程序文件(x86)/ Meld /”
  • “ c:/程序文件(x86)/ Meld /”

我的配置文件:

[user]
    name = user
    email = email@sample.com

[merge]
    tool = meld

[mergetool "meld"]
    cmd = meld --auto-merge \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output \"$MERGED\" --label \"MERGE (REMOTE BASE MY)\"
    trustExitCode = false

[mergetool]
    prompt = false
    keepBackup = false

[diff]
    guitool = meld

    tool = meld
[difftool "meld"]
    cmd = meld \"$LOCAL\" \"$REMOTE\" --label \"DIFF (ORIGINAL MY)\"
    path = C:/Program Files(x86)/Meld/Meld.exe
[difftool]
    prompt = false

2 个答案:

答案 0 :(得分:1)

您的路径书写不正确,并且缺少空格字符。

您应该定义cmd而不是path

最终,这应该对您有用:

git config --global diff.tool meld
git config --global difftool.meld.cmd "\"C:/Program Files (x86)/Meld/Meld.exe\" \"\$LOCAL\" \"\$REMOTE\""
git config --global difftool.prompt false

编辑:

如果要使用有效工具的Git指南,可以使用以下方法进行检查:

git difftool --tool-help

无论如何,在我们进行了交流之后,您决定使用P4merge。因此,这是我的回答的更新。

这是设置它的方法:

git config --global merge.tool p4merge
git config --global mergetool.p4merge.cmd "\"C:/Program Files (x86)/Perforce/p4merge.exe\" \"\$LOCAL\" \"\$REMOTE\""
git config --global diff.tool p4merge
git config --global difftool.p4merge.cmd "\"C:/Program Files (x86)/Perforce/p4merge.exe\" \"\$LOCAL\" \"\$REMOTE\""

答案 1 :(得分:0)

我也在Windows 10上使用Git Bash,并且此配置可与Meld配合使用:

diff.guitool=meld
merge.tool=meld
difftool.meld.path=C:/Program Files (x86)/Meld/meld/meld.exe
mergetool.meld.path=C:/Program Files (x86)/Meld/meld/meld.exe