Неудачный коммит слияния Cherry-pick с пустым коммитом
У меня есть несколько веток, и я хочу, чтобы изменения из второй ветки появлялись в первой ветке.
Это, вероятно, лучше всего описать с помощью диаграммы:
X - Y - Z (branch-2)
/ \
A - B - C - D - E - F (master)
\
G - H - I (branch-1)
Я хочу слить X
, Y
, Z
в branch-1
без привлечения B
а также C
,
Я пытался выбрать вишни слияния-коммит F
и хотя я указываю правильного родителя (я думаю), вишня не может быть выполнена с помощью: The previous cherry-pick is now empty, possibly due to conflict resolution.
Должен ли я вишня выбрать X^..Z
спектр? Или есть лучший способ сделать это?
1 ответ
Вишневый выбор один за другим может быть решением, если это branch-2
маленький.
Для перемещения больших веток я бы сделал это:
git checkout branch-2
git branch moving/branch-2 # new branch to work with
git rebase --onto branch-1 [sha_of_c] moving/branch-2 # move commits of branch ontop of the other
git checkout branch-1
git reset --hard moving/branch-2 # set branch lable to new HEAD
git branch -d moving/branch-2 # clean up
Как предложено @quetzalcoatl в комментариях, вы можете использовать -i
обманывать rebase
так что вы можете проверить, что правильные коммиты копируются, прежде чем делать это.
С другой стороны, если что-то пошло не так, вы можете просто вернуться moving/branch-2
в branch-2
и начать все сначала.