# Более сложное перебазирование коммитов в 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`

Следует помнить, что нельзя перебазировать коммиты, находящиеся во внешнем репозитории. Все участники команды берут из него коммиты для выполнения своей задачи, но если произошло перебазирование веток, всем участникам придется снова сливать коммиты со своими ветками, что может вызвать дополнительную путаницу.

← →
↑