Есть ли у них & ldquo; их & rdquo; версия & ldquo; git merge -s ours & rdquo ;?

3 ответа

Добавьте параметр -X в их . Например:

git checkout branchA
git merge -X theirs branchB

Все сольется желаемым образом.

Единственное, что я видел, вызывает проблемы, это если файлы были удалены из BranchB.Они проявляются как конфликты, если удаление выполнялось не с помощью git.

Исправить легко. Просто запустите git rm с именами всех файлов, которые были удалены:

git rm {DELETED-FILE-NAME}

После этого -X theirs должно работать должным образом.

Конечно, фактическое удаление с помощью команды git rm предотвратит конфликт в первую очередь.


Примечание : также существует вариант более длинной формы. Чтобы использовать его, замените:

-X theirs

на:

--strategy-option=theirs
960
ответ дан 22 November 2019 в 21:17
поделиться

Более старые версии мерзавца позволили Вам использовать "их" стратегия слияния:

git pull --strategy=theirs remote_branch

, Но это было с тех пор удалено, как объяснено в этом сообщении Junio Hamano (специалист по обслуживанию Мерзавца). Как отмечено в ссылке, вместо этого Вы сделали бы это:

git fetch origin
git reset --hard origin

Остерегаются, тем не менее, что это отличается, чем фактическое слияние. Вашим решением является, вероятно, опция, которую Вы действительно ищете.

85
ответ дан Jeff Puckett 25 July 2014 в 03:18
поделиться

Я решил свое использование задач

git checkout -m old
git checkout -b new B
git merge -s ours old
20
ответ дан 22 November 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: