外部git difftool在Windows上不起作用 [英] External git difftool is not working on windows
问题描述
我为许多人在git中苦苦挣扎,并且已经阅读了几乎所有以"git","diff"等标记的主题,并尝试了数百种不同的解决方案,但都没有成功.我正在尝试将sum外部difftool(Meld,p4merge)设置为我的git工具,但是git完全忽略了此选项. 这是我的git config -global .
I'm struggling with git for many ours and have read almost all topics taged by "git", "diff" etc. and tried hundred of different solutions, but did not succeeded at all. I'm trying to set sum external difftool (Meld, p4merge) as my git tool, BUT git ignoring this option at all. Here is my git config --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.我在做什么错了?
Mergetool command is working perfectly, but difftool is ignored and git starts always build-in diff. What i'm doing wrong?
推荐答案
您很可能处于合并模式(例如.git/MERGE_MODE
文件存在或由git status
检查),则您无法使用difftool
,因为参数是不同的,因此您必须使用mergetool
.
Most likely you're in merge mode (e.g. .git/MERGE_MODE
file exists or check by git status
), then you cannot use difftool
, because the arguments are different, so you've to use mergetool
.
如果您想中止合并,请运行:git merge --abort
,则difftool
应该可以.
If you'd like to abort the merge, run: git merge --abort
, then difftool
should work.
另请参见: git difftool运行git diff .
这篇关于外部git difftool在Windows上不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!