Как я могу git pull --rebase, но принимая все удаленные изменения? - PullRequest
23 голосов
/ 09 августа 2010

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

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

1 Ответ

29 голосов
/ 09 августа 2010

Я думаю, что вы хотите, это:

git pull --rebase -s recursive -X ours

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

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

git pull -s recursive -X theirs

Работает как положено, но вы получите слияние вместо rebase .

Также - обратите внимание на «наши», а не на «их» при использовании --rebase. Из справочной страницы git-rebase:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...