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

Unable to set Meld as a diff tool in Git Bash

谁能帮我弄清楚如何让 Meld 在 Git Bash 上工作 Windows 10?我遵循了一些说明,但对我来说都不起作用。

输入这些命令后,没有任何反应:

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.

我也试过了;

我的配置文件:

[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

你的路径写得不好,少了space个字符

你应该定义 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\""

我也在 Git Bash Windows 10 上使用,此配置适用于 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