我知道这个问题,但不确定如何将其映射到我目前的情况。(变基是可怕的,撤消变基是双重可怕的!)
我从我的主人的几个不同的功能分支开始:
master x-x-x-x-x-x-x-x-x-x
\ \ \
FeatureA 1-2-3 \ \
FeatureB A-B \
FeatureC X-Y-Z
我想将它们合并在一起,并在合并回到 master 顶部之前检查它们是否有效,所以我做了:
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 的情况?