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

如何更简便地压缩后续会分叉为多分支的Git提交?

Git提交压缩后多分支自动继承的通用方法

假设分支1和分支2未来无需合并(比如分支1适配Windows,分支2适配MacOS),初始分支结构如下:

A ---> B ---> C ---> D ---> E ---> F (branch1)
                      \
                       \
                        G ---> H ---> I (branch2)

我想把提交C压缩进B中。在branch1的F节点执行git rebase后,得到的分支结构是:

A ---> BC ---> D' ---> E' ---> F' (branch1)
 \
  \
   B ---> C ---> D ---> G ---> H ---> I (branch2)

但(BC, D')和(B, C, D)的变更完全一致,我期望的理想结构是:

A ---> BC ---> D' ---> E' ---> F' (branch1)
                \
                 \
                  G' ---> H' ---> I' (branch2)

目前我能想到的方法是在D'和D处分别创建临时分支branchD'和branchD,然后执行:

git rebase --onto branchD branchD' branch2

但这套流程需要两次rebase、创建两个临时分支,太繁琐了。如果有10个从D分叉出的分支,甚至这些分支还继续分叉,操作成本会非常高。

我想知道:有没有通用的提交压缩方法,不需要逐个处理所有分叉分支,让它们自动继承压缩后的提交?毕竟(B, C)和BC的变更完全相同,这种“上下文无关”的压缩操作应该是合理的需求:

压缩前:

merge from many branches ---> B ---> C ---> fork into many branches
                      \\                                          \/
                       \\                                        \/
                        \\_____ there could be bypass here _____/

压缩后期望:

merge from many branches --------> BC --------> fork into many branches
                      \\                                          \/
                       \\                                        \/
                        \\_____ there could be bypass here _____/

我是Git新手,若有理解错误或存在简单可行的解决方案,欢迎指正。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:40:28