Разрешить git объединять разные типы файлов с помощью внешнего инструмента?

Мы работаем над проектом, в котором мы часто сталкиваемся с одним и тем же конфликтом из-за того, что git не может правильно объединить файлы. Однако эти конфликты могут быть легко устранены с помощью внешнего скрипта. Можно ли каким-то образом позволить git теперь, когда он всегда должен обрабатывать конфликты слияния в файле с определенным расширением с помощью внешнего скрипта? Сценарию нужны маркеры >>>> и <<<< из git, чтобы найти измененные части в файле, поэтому git должен вызвать наш скрипт после того, как это будет сделано с помощью собственного слияния.

Кто-нибудь знает, есть ли ловушка, которую мы могли бы использовать для этого, или, может быть, вы можете сказать git запустить этот скрипт для конфликтов в указанном файле?

С наилучшими пожеланиями, Майкл

1 ответ

Решение

Если разрешение конфликта слияния всегда одинаково, проверьте git rerere,
Это описано в " Rerere Your Boat... " и в " Журнале Гитстера - Веселье с rerere "

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

Вам нужно будет активировать его, хотя:

git config --global rerere.enabled 1
Другие вопросы по тегам