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

如何将dev分支的多个提交压缩合并到public分支且保留dev原有提交?

可行性结论

该需求完全可以实现,整个操作不会改动dev分支的任何现有提交记录,只会在public分支生成一条全新的独立压缩提交。

具体操作步骤
  • 第一步:切换到public分支并同步远程最新内容,避免合并冲突
git checkout public
git pull origin public
  • 第二步:执行压缩合并操作,提取dev分支的所有变更汇总到当前分支暂存区
    git merge --squash dev
    如果执行过程中提示代码冲突,解决所有冲突文件后执行git add 冲突文件名标记冲突已处理即可。
  • 第三步:生成单条合并提交,可自定义提交信息说明合并内容
    git commit -m "合并dev分支最新功能,对应提交范围:c964dea~9be7fdb"
  • 第四步:将本地public分支的新提交推送到远程仓库
    git push origin public
实现原理解释

git merge --squash的逻辑是仅对比目标分支和当前分支的差异,将所有差异变更汇总到当前分支的暂存区,不会继承目标分支的提交历史,也不会对目标分支本身做任何修改,因此dev分支上原有的4条提交记录会被完整保留,不受任何操作影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:18:03