重新分支到没有共同祖先的分支

时间:2015-10-27 10:08:08

标签: git git-rebase

我有一棵树,如下所示:

A--B (master)

C (newbase)

它包含两个没有共同祖先的分支。提交C实际上是A的基准,一个从旧控制版系统导入它的人只是忘记导入它。

我想重新分支分支,所以它看起来如下:

C--A--B

我试过

git checkout master
git rebase --onto newbase A -s recursive -Xtheirs

但结果是

C--B

2 个答案:

答案 0 :(得分:1)

我猜你可以使用rebase然后删除newbase分支:

git checkout master
git rebase newbase

答案 1 :(得分:1)

您需要使用git rebase --root(以及您喜欢的任何其他选项,在这种情况下为--onto和策略选项)。

(我只使用交互式rebase进行了测试,但记录为使用了所有形式的rebase。)