Как я могу выполнить git pull --rebase, но при этом все удаленное изменения?

я сделал git fetch и затем git pull --rebase . Он пытается объединить изменения из удаленной ветви в мою локальную ветку. И есть некоторые конфликты слияния. Поэтому я сделал git reset --hard .

У меня вопрос: можно ли попросить git pull выполнить удаленное изменение при возникновении конфликта?

25
задан Whymarrh 16 May 2017 в 14:36
поделиться

1 ответ

Я думаю, что вам нужно следующее:

git pull --rebase -s recursive -X ours

Но это не работает (я использую 1.7.0.4), хотя в руководстве написано, что это должно работать. Я предполагаю, что это связано с проблемой упомянутой здесь.

Вместо этого вы можете использовать:

git pull -s recursive -X theirs

Это работает как ожидалось, но вы получите merge вместо rebase.

Также - обратите внимание на 'ours', а не 'theirs' при использовании --rebase. Из руководства по git-rebase:

[CLIP]... слияние rebase работает путём воспроизведения каждого коммита из рабочей ветки поверх восходящей ветки. Поэтому, когда происходит конфликт слияния, сторона, которая сообщается как наша, - это пока что ребазированная серия, начиная с восходящей ветви, а их сторона - это рабочая ветвь. Другими словами, стороны меняются местами. ...[CLIP]

32
ответ дан 28 November 2019 в 21:37
поделиться
Другие вопросы по тегам:

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