#git #binary #diff #external
Вопрос:
Как я могу использовать git с внешним инструментом слияния для двоичных файлов?
Я уже добавил следующую конфигурацию в git gitconfig:
Я хочу объединить 2 ветви вместе с помощью mergeconflict. Для этого я попробовал команду «git merge branchname» в 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. Ладно, я понимаю, к чему ты клонишь. Возможно, есть какие-то графические интерфейсы, которые могли бы сделать эту интеграцию для вас, но я никогда их не использовал. Я до мозга костей специалист по командной строке, и мне нравится контроль, который я получаю, когда мне приходится самому называть каждый шаг так, как я считаю нужным, поэтому я не смогу вам помочь.