Конфигурация Git для использования внешнего инструмента слияния для двоичных файлов

#git #binary #diff #external

Вопрос:

Как я могу использовать git с внешним инструментом слияния для двоичных файлов?

Я уже добавил следующую конфигурацию в git gitconfig: конфигурация git для внешнего инструмента слияния

Я хочу объединить 2 ветви вместе с помощью mergeconflict. Для этого я попробовал команду «git merge branchname» в git bash.

ответ git bash

Git отвечает мне (ожидаемым) конфликтом слияния, но как я могу автоматически открыть свой mergetool напрямую после конфликта?

Git должен попытаться разрешить мой конфликт слияния с помощью моего определенного инструмента в gitconfig. Потому что мой определенный инструмент может объединять/различать и обрабатывать двоичные файлы.

У кого-нибудь есть идеи, как я могу решить эту проблему? Я не нашел подходящего крючка для мерзавца. Крючок git «предварительное слияние» вызывается только в том случае, если слияние прошло успешно.

Комментарии:

1. Когда я звоню git mergetool , он подсказывает мне, какой инструмент использовать. Работает ли это, если вы введете там название своего инструмента слияния? Или это то, чего ты пытаешься избежать?

2. Спасибо вам за ваш ответ. Я хотел бы вызвать только git merge, и если возникнет какой-либо конфликт, git должен вызвать мой mergetool. Но для этого требуется два шага. Сначала вызовите «git merge», а затем «git mergetool». Я работал с mercurial раньше, и в mercurial это только один шаг. Я надеялся, что git будет похожим. Это немного удобнее, если scm автоматически вызывает mergetool, если это необходимо.

3. Ладно, я понимаю, к чему ты клонишь. Возможно, есть какие-то графические интерфейсы, которые могли бы сделать эту интеграцию для вас, но я никогда их не использовал. Я до мозга костей специалист по командной строке, и мне нравится контроль, который я получаю, когда мне приходится самому называть каждый шаг так, как я считаю нужным, поэтому я не смогу вам помочь.