You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将分支提交复制到新分支并使其基于main分支?

实现分支复制并变基到main的简便方法

针对你的需求,有一套简单的命令流程可以完成,适合Git新手操作:

步骤1:确保本地main分支是最新版本

先切换到main分支并拉取最新代码(避免基于旧版本的main操作):

git checkout main
git pull

步骤2:复制branch A创建branch B

直接基于branch A创建新分支branch B,这样branch B会完全继承branch A的所有提交历史:

git checkout -b branchB branchA
  • 解释:-b branchB表示创建并切换到新分支branchB,后面的branchA指定新分支的基础是branchA。

步骤3:将branch B变基到main分支

现在把branch B的提交(D、E)重新基于main分支的最新提交(C)构建:

git rebase main

执行后,branch B的提交就会变成D'、E',且基于main分支,同时原branch A的提交历史不会被改动。


关于你之前操作失败的原因

你提到用git checkout复制后用--onto参数rebase没拿到所有提交,大概率是rebase --onto的参数顺序错了。对新手来说,分开执行上面的步骤2和步骤3更直观,不容易出错,也更容易理解每一步的作用。

内容的提问来源于stack exchange,提问作者LYNllow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 16:32:34