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

如何将Git分支C变基到分支A并排除分支B的所有变更?

实现方案:将Branch C变基到Branch A并丢弃Branch B的变更

原分支结构:

branch A -- a1 -- a2 -- a3
      \    
       branch B -- b1 -- b2
                           \
                            branch C -- c1 -- c2

需求:把branch C的提交(c1、c2)直接移到branch A的末尾,完全丢弃branch B的所有变更(b1、b2),最终结构如下:

branch A -- a1 -- a2 -- a3 -- c1 -- c2

最简洁的实现命令:

git rebase --onto branchA branchB branchC

命令解释

  • --onto branchA:指定变基后的目标分支,即最终要把提交放到branch A的末尾
  • branchB:指定要跳过的提交截止点——只保留branch B之后的提交(也就是c1、c2),完全忽略branch B上的b1、b2
  • branchC:指定要执行变基操作的分支

执行完命令后,branch C就会直接基于branch A的最新提交(a3),带上自己的c1、c2提交,完全没有branch B的变更。如果需要同步到远端仓库,执行:

git push --force-with-lease branchC

注意:--force-with-lease比直接--force更安全,能避免覆盖其他人的远端提交,多人协作场景下优先使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 21:06:15