Переместите самые revent коммиты в другую ветку
Вот такая ситуация в моем репозитории git: у меня есть две ветки "dev" и "fix", и мне нужно переместить три самых последних коммита из ветки fix в ветку dev. Голова находится на последнем коммите в ветке dev (E). Итак, мне нужно уйти от этого:
dev A
\
fix B - C - D - E
^HEAD
к этому:
dev A - C - D - E
\ ^HEAD
fix B
Буду признателен за любую помощь в том, как сделать это с помощью команд git (это автономный репозиторий)
1 ответ
Это просто
git checkout dev
git cherry-pick fix~3..fix # apply the last 3 revisions from fix
git checkout fix
git reset --hard HEAD~3 # set fix 3 revisions behind
Вы историю переписываете, если это не очевидно, это больше похоже на:
dev A - C' - D' - E'
\ ^HEAD
fix B