Как автоматически разрешать конфликты слияний, выбирая удаленную версию в Git? - PullRequest
16 голосов
/ 09 февраля 2009

Есть ли способ указать git, чтобы он автоматически разрешал конфликты для пакета файлов, используя удаленную версию для каждого из них? Например, взять удаленную версию каждого файла в определенном каталоге?

Ответы [ 2 ]

16 голосов
/ 09 февраля 2009

git-merge , кажется, поддерживает только "нашу" стратегию, где результатом слияния является локальная версия. И это только для всего дерева.

Если вы вошли в конфликтующее состояние во время слияния, вы можете использовать git-checkout --theirs с путем для извлечения файлов из индекса.

Наконец, вы можете git-reset , чтобы принудительно заставить части дерева выполнить конкретный коммит.

Теперь есть также http://www.seanius.net/blog/2011/02/git-merge-s-theirs/, который в основном рекомендует сделать merge -s ours, а затем применить изменения обратно.

5 голосов
/ 13 января 2016

Вы можете использовать стратегию recursive (-ы) с опцией theirs (-X). То есть:

git merge -s recursive -X theirs source_branch
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...