Ответ 1
Обратите внимание, что для правильной работы вам необходимо git1.7.6 + для git rebase --preserve-merges
.
- a
rebase --preserve-merges --onto
раньше не работал ( "git rebase --preserve-merges --onto
не сохраняет слияния" ) - a
rebase --preserve-merges
возникла проблема:- см. этот поток, когда обе стороны слияния воспроизводятся)
- " Git: Rebasing Merge Commits" (сообщение от Alexandru Pasca)
Короче говоря: вы только что закончили слияние, и кто-то нажал фиксацию, прежде чем вы смогли нажать на свой. Решение состоит в том, чтобы сделать git осведомленным о слиянии, которое вы сделали.
git rebase --preserve-merges <upstream>
или
git rebase -p <upstream>
Но есть проблема, если в вашем слиянии возникли конфликты, которые вы решили, они не будут подхвачены механизмом переустановки.
И вы снова разрешите конфликты... по крайней мере, это имеет место с git версией 1.7.5.4
(Это вызовет git rerere
)