Игнорирование конкретной строки (ов) при оценке конфликта слияния?

#git #gitlab #git-merge #merge-conflict-resolution

#git #gitlab #git-слияние #слияние-разрешение конфликта

Вопрос:

В моем проекте есть someFile , самые первые две строки которого выглядят следующим образом:

 // This file is automatically generated
// Generated on 25.08.2020 15:01:00
  

Время во второй строке меняется.

Следовательно, эта вторая строка является ненужным источником конфликтов слияния для моей команды.

Есть ли способ каким-то образом заставить git игнорировать эту вторую строку при оценке конфликтов слияния git?

Комментарии:

1. Короткий ответ — нет. Есть несколько приемов, которые могут помочь, но «правильный ответ» обычно — не делайте этого . То есть не фиксируйте сгенерированные файлы, просто генерируйте их из фактического источника. Иногда это непрактично, и тогда у вас возникает проблема такого рода. Вы можете написать драйвер слияния, чтобы помочь, но они довольно громоздкие.

Ответ №1:

В общем, нет, это не так. Как правило, вам не следует проверять автоматически созданные файлы или другие продукты сборки в репозитории; это одна из многих причин, почему.

Если вы действительно хотите это сделать, есть несколько подходов, которые вы можете предпринять:

  • Используйте фильтр размытия и очистки, чтобы удалить дату при регистрации и добавить ее при оформлении заказа.
  • Используйте пользовательский драйвер слияния в .gitattributes специально для объединения файла. Каждый пользователь, выполняющий слияние, должен будет иметь этот драйвер слияния, и это почти наверняка не будет работать для слияний, выполняемых вашей хостинговой платформой (потому что у них не будет вашего драйвера слияния).