Более сложное перебазирование коммитов в Git
В системе Git можно выполнить перебазирование
для трех веток. Пусть у нас есть две ветки
member1
и member2
, у которых есть разные
коммиты.
В процессе работы над проектом нам понадобилось
вставить коммиты commit3
, commit4
из ветки member2
в ветку member1
и применить их на ветке master
.
Для этого выполняем следующую
команду:
git rebase --onto master member1 member2
Данная команда приказывает системе Git
переключиться на ветку member2
,
найти в ней коммиты, которых нет в ветке member1
и слить только эти недостающие коммиты с
веткой master
.
Теперь выполним слияние обратной перемоткой:
git switch master
git merge member2
Следует помнить, что нельзя перебазировать коммиты, находящиеся во внешнем репозитории. Все участники команды берут из него коммиты для выполнения своей задачи, но если произошло перебазирование веток, всем участникам придется снова сливать коммиты со своими ветками, что может вызвать дополнительную путаницу.