Как можно заставить Git diff и merge использовать opendiff?

Я использую совет github, чтобы он работал: https://gist.github.com/329690

и сейчас мой глобальный конфигурационный файл содержит:

[merge]
        tool = opendiff
        external = /Users/mike/bin/git-diff-cmd.sh

[diff]
        tool = opendiff
        external = /Users/mike/bin/git-diff-cmd.sh

Тем не менее, когда я использую gif diff, вывод по-прежнему выходит в виде вывода текста, как и любой конфликт слияния при использовании git merge <branch>, Есть ли верный способ заставить их использовать opendiff? (когда используешь git diff а также git merge и желательно не другими командами)

1 ответ

Решение

РЕДАКТИРОВАТЬ: полное изменение

Не только вам нужно merge.tool как вы уже установили, вам также нужно mergetool.<tool>, В следующем вы увидите код, который вам нужен (варианты --merge а также --result зависит от opendiff):

[merge]
    tool = opendiff
[mergetool "opendiff"]
    cmd = \"/Users/mike/bin/git-diff-cmd.sh\" --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
    trustExitCode = true
    keepBackup = false

Смотрите эту ссылку и ищите "mergetool"

РЕДАКТИРОВАТЬ: согласно комментарию автора (извините, я не могу записать ваше имя), тег [merge] является обязательным даже для diff.

Другие вопросы по тегам