撤消重新定位功能分支到另一个功能分支

Dav*_*vid 4 git git-rebase feature-branch

我正在开发一个开发分支和两个不同的(本地)功能分支.

a -- b -- e                  <-- develop
     \     \
      \     f -- g           <-- feature-branch-1
       \
        c -- d               <-- feature-branch-2
Run Code Online (Sandbox Code Playgroud)

我通过运行将来自feature-branch-1的更改合并到feature-branch-2中

git checkout feature-branch-2
git rebase feature-branch-1
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,它现在看起来像这样:

a -- b -- e                  <-- develop
          |\
          | f -- g           <-- feature-branch-1
           \
            f -- g -- c -- d <-- feature-branch-2
Run Code Online (Sandbox Code Playgroud)

然而,我意识到我在分支1中引入了一个我不知道如何修复的错误.所以这个错误现在也在分支2中,并阻止我将feature-branch-2合并到develop中.我想回到原来的状态

a -- b -- e                  <-- develop
     \     \
      \     f -- g           <-- feature-branch-1
       \
        c -- d               <-- feature-branch-2
Run Code Online (Sandbox Code Playgroud)

这样我就可以安全地将feature-branch-2合并到develop中.我怎样才能做到这一点?

Veg*_*ger 6

查看功能分支-2

git checkout feature-branch-2
Run Code Online (Sandbox Code Playgroud)

从g(最后一次提交feature-branch-1)到develop的提交和rebase:

git rebase --onto develop feature-branch-1
Run Code Online (Sandbox Code Playgroud)

请注意,feature-branch-2将基于e而不是b,但我认为它不重要?如果确实如此:更换developbgit rebase命令.