多年来我一直在与git作斗争,几乎阅读了所有以"git"、"diff"等标记的主题,尝试了数百种不同的解决方案,但都没有成功。我试图设置sum外部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_MODE
文件存在或由git status
检查),那么你不能使用difftool
,因为参数不同,所以你必须使用mergetool
。
如果你想终止合并,运行:git merge --abort
,那么difftool
应该可以工作。