将最多撤销的提交移到其他分支

时间:2020-06-19 18:05:39

标签: git git-branch git-branch-sculpting

这是我的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 个答案:

答案 0 :(得分:2)

很简单

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