Переместите самые revent коммиты в другую ветку - PullRequest
1 голос
/ 19 июня 2020

Это Ситуация в моем git репозитории: у меня есть две ветки «dev» и «fix», и мне нужно переместить три самых последних коммита из ветки fix в ветку dev. Голова находится на последней фиксации в ветке dev (E). Итак, мне нужно go от этого:

dev   A
       \
fix     B - C - D - E
                    ^HEAD

до этого:

dev    A - C - D - E
        \          ^HEAD
fix      B

Я был бы признателен за любую помощь о том, как выполнить sh это с помощью команд git (это автономный репозиторий)

1 Ответ

2 голосов
/ 19 июня 2020

просто

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
...