如何将git合并转换为rebase

时间:2015-06-28 14:19:15

标签: git git-merge git-rebase

我合并了两个分支。现在看来我不得不重新定义两个分支。我该怎么办?这就是我要找的东西

enter image description here

2 个答案:

答案 0 :(得分:2)

如果您使用开发分支:

还原合并:

  

git reset --hard [last-commit-before-merge]

转到实验分支:

  

git checkout实验

执行rebase:

  

git rebase -i develop

答案 1 :(得分:2)

您可以将分支重置为合并前的点,然后执行rebase。所以,如果这是你的情况:

                       experiment
                          ↓
  A --- B --- C --- D --- E
 /                         \
* --- * --- * ----- X ----- M
                            ↑
                          master

然后重置master以提交X,然后在实验中执行rebase:

git checkout master
git reset --hard X
git checkout experiment
git rebase master

然后你会得到这个:

* -- * -- * -- X -- A' -- B' -- C' -- D' -- E'
               ↑                            ↑
             master                     experiment

因此,合并提交M消失,您的实验分支重新定位到master。然后你可以快进主人并摆脱经验分支。