我知道这个问题,但不确定如何将其映射到我的当前情况。(Rebase很可怕,撤销rebase更加可怕!)
我最初从我的主分支创建了几个不同的特性分支:
master x-x-x-x-x-x-x-x-x-x
\ \ \
FeatureA 1-2-3 \ \
FeatureB A-B \
FeatureC X-Y-Z
我想把它们合并在一起,并在合并回主分支之前检查它们是否工作正常,因此我执行了以下操作:
git checkout FeatureB
git rebase FeatureA
git mergetool //etc
git rebase --continue
那么
git checkout FeatureC
git rebase FeatureB
git mergetool //hack hack
git rebase --continue
这让我只剩下
master x-x-x-x-x-x-x-x-x-x
\
FeatureA 1-2-3
\
FeatureB A'-B'
\
FeatureC X'-Y'-Z'
然后我纠正了一些编译不正确的部分,并将整个功能集合调整到了可接受的状态:
master x-x-x-x-x-x-x-x-x-x
\
FeatureA 1-2-3
\
FeatureB A'-B'
\
FeatureC X'-Y'-Z'-W
我的问题是,我的同事告诉我我们还没有准备好使用 FeatureA。
有没有办法让我保留所有工作,但同时回到一个可以将 FeatureC 变基到 Feature B 的情况?