Можно ли указать git, чтобы автоматически разрешать конфликты для пакета файлов с помощью удаленной версии для каждого из них? Например, взять удаленную версию каждого файла в определенном каталоге?
Как автоматически разрешать конфликты слияния, выбрав удаленную версию в Git?
Ответ 1
git-merge, похоже, поддерживает только стратегию "наш", где результатом слияния является локальная версия. И это только для всего дерева.
Если вы входите в конфликтное состояние при выполнении слияния, вы можете использовать git-checkout --theirs
с помощью пути для извлечения файлов из индекс.
Наконец, вы можете git-reset заставить части дерева привязываться к определенной фиксации.
Теперь также http://www.seanius.net/blog/2011/02/git-merge-s-theirs/, который в основном рекомендует создавать merge -s ours
, а затем отменять изменения.
Ответ 2
Вы можете использовать стратегию recursive
(-s) с опцией theirs
(-X). То есть:
git merge -s recursive -X theirs source_branch