Ответ 1
Я думаю, что вы хотите:
git pull --rebase -s recursive -X ours
Но он не работает (я использую 1.7.0.4), хотя manpage говорит, что он должен. Я предполагаю, что это связано с проблемой упомянутой здесь.
Вместо этого вы можете использовать:
git pull -s recursive -X theirs
Он работает так, как ожидалось, но вы получите слияние вместо rebase.
Также - обратите внимание на "наш", а не на "их" при использовании --rebase. Из git -rebase manpage:
[CLIP]... слияние с rebase работает, переигрывая каждую фиксацию из рабочей ветки поверх верхней ветки. Из-за этого, когда происходит конфликт слиянием, сторона, о которой сообщается, как наша, является так называемой переустановленной серией, начиная с восходящего потока, а их рабочая ветвь. Другими словами, стороны меняются местами.... [CLIP]