я сделал git fetch
и затем git pull --rebase
. Он пытается объединить изменения из удаленной ветви в мою локальную ветку. И есть некоторые конфликты слияния. Поэтому я сделал git reset --hard
.
У меня вопрос: можно ли попросить git pull выполнить удаленное изменение при возникновении конфликта?
Я думаю, что вам нужно следующее:
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]