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

git rebase --rebase-merges未保留合并顺序问题求助

Git rebase --rebase-merges 行为不符预期的问题

初始仓库结构

-+----*----*------*-------------------------  Main
  \------------+---------+------+-- Dev
   \-*--*--*--/-*--*--*-/-*--*-/  Feature1

注:*代表提交,斜线代表合并。分支关系:从Main分支拉出Dev分支,再从Dev分支拉出Feature1分支;多次在Feature1上提交后合并回Dev,期间Main分支也产生了新提交。

操作与预期/实际结果

执行命令 git rebase MAIN --rebase-merges 将Dev分支重基到Main分支,预期得到的分支结构为:

--*--*--*-+------------+---------+------+-- Main
             \-*--*--*--/-*--*--*-/-*--*-/  

但实际得到的结构却是:

-*--*--*-+-----------------------------+--+--+
            \--------------------*--*---/--/--/
             \----------*--*--*--------/--/
              \--*--*-*---------------/

尝试操作与困惑

尝试添加 -i 参数编辑rebase的todo脚本,发现所有合并命令都排在脚本末尾;调整这些命令的位置后,最终得到的是没有合并历史的线性提交序列。完全搞不懂脚本中的reset命令及其与merge命令的交互逻辑,搜索官方文档也没找到能解释清楚的有效信息。

额外疑问

另外想了解,如果Dev分支结构改成下面这样,重基过程是否会更顺利?

\------------+-----------+------+-- Dev
   \-*--*--*--/\--*--*--*-/\-*--*-/  Feature1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 20:14:58