外部git difftool在windows上不工作

外部git difftool在windows上不工作,windows,git,diff,meld,p4merge,Windows,Git,Diff,Meld,P4merge,我为git奋斗了很多年,阅读了几乎所有标有“git”、“diff”等的主题,尝试了数百种不同的解决方案,但都没有成功。我试图将sum external difftool(Meld,p4merge)设置为我的git工具,但git完全忽略了这个选项。 这是我的git配置--global [alias] st = status co = checkout ci = commit [diff] tool = p4merge [difftool "p4merge"]

我为git奋斗了很多年,阅读了几乎所有标有“git”、“diff”等的主题,尝试了数百种不同的解决方案,但都没有成功。我试图将sum external difftool(Meld,p4merge)设置为我的git工具,但git完全忽略了这个选项。 这是我的git配置--global

[alias]
    st = status
    co = checkout
    ci = commit
[diff]
    tool = p4merge
[difftool "p4merge"]
    cmd = p4merge.exe $LOCAL $REMOTE
[difftool]
    prompt = false
[merge]
    tool = p4merge
[mergetool "p4merge"]
    cmd = p4merge.exe $BASE $LOCAL $REMOTE $MERGED
[mergetool]
    prompt = false
    trustExitCode = false
    keepBackup = false

Mergetool命令工作正常,但是difftool被忽略,git总是在diff中启动。我做错了什么?

很可能您处于合并模式(例如,
.git/merge_模式
文件存在或通过
git状态
检查),然后您不能使用
difftool
,因为参数不同,因此,您必须使用
mergetool

如果要中止合并,请运行:
git merge--abort
,然后
difftool
应该可以工作

另见: