如何将 git 合并转换为变基

How to convert a git merger into a rebase

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

如果您在 develop 分支:

还原合并:

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

转到实验分支:

git checkout experiment

执行变基:

git rebase -i develop

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

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

然后重置 master 以提交 X,然后对实验执行变基:

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

那么你会得到这样的结果:

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

因此合并提交 M 消失了,您的实验分支重新基于 master。然后你可以快进 master 并摆脱 experiement 分支。