При слиянии бинарных файлов с Git есть ли способ заставить Difftool спросить, нужно ли просто объединить один из файлов? - PullRequest
0 голосов
/ 27 июня 2019

Ситуация

Основные файлы, с которыми работает наша команда, - это двоичные файлы с точки зрения Git.При объединении, если две ветви имеют один и тот же файл с какими-либо различиями, всегда будет конфликт слияния.Каждый раз. Что в основном означает, что у нас будет конфликт в 90% + наших слияний.

Большую часть времени мы просто хотим объединить новую версию (обычно, например, слияние ветвей вfeature ветвь, сливающаяся в dev), но не всегда.

Соображения

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

Мы могли бы настроить .gitattributes для автоматического слияния двоичных файлов сданное расширение, , но это всегда выберет либо новое (theirs), либо старое (ours) , вариант отсутствует.Опять же, вы можете исправить исключения с помощью процесса командной строки (без автоматической фиксации, извлечение из «другой» ветви без автоматического объединения, добавления и принятия), но цель здесь - простой, однозначный процесс с наименьшим шансом начеловеческая ошибка.

Вопросы

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

  1. Этот процесс был бы идеален и для двоичных файлов - есть ли способ получить mergetool, чтобы просто задать этот же вопрос для двоичных файлов?

  2. Или есть какой-нибудь инструмент, который загрузит двоичный файл и затем разрешит ту же функцию (т. Е. Выделит весь новый или старый файл)?

...