git - rebase 到没有共同祖先的分支

标签 git git-rebase

我有一棵如下所示的树:

A--B (master)

C (newbase)

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

我想对分支进行 rebase ,使其看起来如下所示:

C--A--B

我试过了

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

但是结果是

C--B

最佳答案

您需要使用 git rebase --root(加上您喜欢的任何其他选项,在本例中是您的 --onto 和策略选项)。

(我只用交互式 rebase 测试过这个,但它被记录为适用于所有形式的 rebase 。)

关于git - rebase 到没有共同祖先的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33364992/

相关文章:

Github 和 Heroku Webhooks : Add label when pushed to origin, 在推送到 prod 时关闭

android - repo 初始化一个特定的提交

linux - Gitbash 版本不允许 grep -o,是否可以安装新的 grep 包?

Git 交互式 rebase 没有删除我的其他提交

git - 如何自动检测 Git 提交或 rebase 是否包含类似 "<<<<< HEAD"的内容?

git - 在第一个git aws.push到弹性beantalk时出错

git - 为微服务存储子模块,但仍然使用 fork

git - 如何将重新定位的分支恢复到原点?

git - `rebase' 导致的冲突数量是否真的少于 `merge' ?

git - 使用 shell 脚本更改 *n* 次提交的 git 历史记录(提交日期)