3

对于我们的许多人,我都在为 git 苦苦挣扎,并且已经阅读了几乎所有标有“git”、“diff”等标签的主题,并尝试了数百种不同的解决方案,但根本没有成功。我正在尝试将 sum external difftool (Meld, p4merge) 设置为我的 git 工具,但 git 完全忽略了这个选项。这是我的 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。我做错了什么?

4

1 回答 1

0

很可能您处于合并模式(例如.git/MERGE_MODE文件存在或检查方式git status),然后您不能使用difftool,因为参数不同,所以您必须使用mergetool.

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

另请参阅:git difftool 运行 git diff

于 2017-08-18T00:28:46.367 回答