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

如何在Turbo管理的mono-repo中仅合并单个应用至main分支

在Turbo mono-repo中仅合并单个应用到main分支的方案

方法1:git子目录合并(精准合并目标应用目录)

这种方式可以直接指定只合并开发分支中单个应用的目录内容到main分支,适合无需改动其他文件的场景:

  • 切换到main分支:git checkout main
  • 执行子目录合并命令,指定目标应用所在路径(假设目标应用目录为apps/finished-app,开发分支为dev):
    git merge -s subtree --no-commit dev -- apps/finished-app
    
  • 检查合并后的代码完整性,确认无冲突或异常后提交:git commit -m "Merge finished-app from dev branch to main"

注意:如果main分支中该应用目录已有历史内容,需手动处理冲突,确保保留开发完成的版本。

方法2:临时分支剥离无关代码后合并

先从开发分支创建临时分支,移除未完成应用的代码,再合并到main分支:

  • 基于开发分支创建临时分支:git checkout -b temp-finished-app dev
  • 删除仓库中未完成的应用目录(比如apps/unfinished-app1、apps/unfinished-app2):
    git rm -r apps/unfinished-app1 apps/unfinished-app2
    git commit -m "Clean up unfinished apps for temp merge branch"
    
  • 切换到main分支:git checkout main
  • 合并临时分支:git merge temp-finished-app
  • 合并完成后可删除临时分支:git branch -D temp-finished-app

方法3:cherry-pick挑选目标应用相关提交

如果目标应用的所有代码提交都是独立的(提交仅涉及该应用目录),可以直接挑选这些提交合并到main:

  • 筛选出所有仅修改目标应用目录的提交记录:
    git log --oneline -- apps/finished-app
    
  • 复制这些提交的哈希值,切换到main分支:git checkout main
  • 逐个挑选提交合并:
    git cherry-pick <提交哈希1> <提交哈希2>
    
  • 若遇到冲突,解决后执行git cherry-pick --continue继续合并流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 11:16:55