Единственный способ заставить git делать то, что вы просите во время разрешения конфликта, - это написать собственный драйвер слияния, который обнаруживает и «исправляет» информацию о версии перед вызовом обычного merge-file
процесса.Это выполнимо, но требует небольшой настройки (см. git attributes
документы в атрибуте merge
, где говорится о пользовательских драйверах слияния).
Если вы можете допустить дополнительный шаг, это может быть прощепросто написать сценарий (что-то вроде perl или даже awk было бы хорошо для этой задачи), который находит и исправляет этот конкретный конфликтный блок, и запускает этот сценарий через конфликтующий вывод слияния, прежде чем вручную разрешать оставшиеся изменения.Самым большим недостатком этого - и причиной, по которой я мог бы рассмотреть подход драйвера слияния - является то, что если файл конфликтует только из-за блока версии, у вас не будет ручной работы, но файл все равно будетбыть в конфликтном состоянии - поэтому вам придется проверять каждый файл, чтобы увидеть, осталось ли еще разрешить конфликт.
Мне кажется, может быть, стоит пересмотреть аспекты вашего рабочего процессачто заставляет вас ожидать этих конфликтов.