Ответ 1
git merge -Xignore-all-space
Или (точнее)
git merge -Xignore-space-change
должно быть достаточно, чтобы игнорировать все связанные с пространством конфликты во время слияния.
См. git diff:
--ignore-space-change
Игнорировать изменения количества пробелов.
Это игнорирует пробелы в конце строки и рассматривает все остальные последовательности одного или нескольких символов пробелов как эквивалентные.
--ignore-all-space
Игнорировать пробелы при сравнении строк.
Это игнорирует различия, даже если одна строка имеет пробел, где другая строка не имеет.
ks1322
добавляет в комментарии хороший совет:
Стоит объединиться с
--no-commit
и проанализировать слияние перед фактическим фиксацией.
OP Callum Macrae сообщает, что в этом случае слияние продолжается непрерывно, а конечные пробелы, содержащиеся в патчах запроса pull, применяются к локальным файлам.
Тем не менее, OP использует крюк pre-commit, который заботится о указанных конечных пробелах.
(Я полагаю, немного похож на этот, а также ссылка здесь).
Ключ предварительной фиксации OP указанный здесь:
В дополнение к удалению конечного пробела он удаляет от одного до трех пробелов перед вкладками (у меня ширина табуляции равна 4) и добавляет EOL.
У меня появились сообщения о том, что код, который добавляет EOL, удаляет файл в Windows, но не смог его реплицировать.