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

咨询将4个NextJS项目合并为指定结构Monorepo的方法

合并多个NextJS项目为Monorepo的实操步骤

方式一:保留各项目Git历史(推荐用于需追溯历史的场景)

1. 初始化Monorepo基础结构

mkdir monorepo && cd monorepo
git init
mkdir -p apps packages/shared/ui

2. 逐个迁移项目(以site为例)

  • 添加对应项目的远程仓库:
    git remote add site <site项目的Git仓库地址>
    
  • 拉取目标分支的代码:
    git fetch site main  # main替换为项目实际分支名
    
  • 将代码迁移到指定目录并提交:
    git read-tree --prefix=apps/site/ site/main
    git commit -m "迁移site项目至apps/site目录"
    
  • 移除临时远程:
    git remote remove site
    

重复上述步骤,分别迁移admin、auth项目到apps/admin、apps/auth目录;迁移ui项目时,将--prefix参数改为packages/shared/ui/即可。

方式二:直接拉取文件(适合无需保留历史的快速场景)

1. 初始化Monorepo基础结构

同方式一的第一步,创建目录并初始化Git仓库。

2. 拉取项目文件

# 迁移site、admin、auth到apps目录
cd apps
git clone <site项目地址> site
git clone <admin项目地址> admin
git clone <auth项目地址> auth

# 迁移ui到packages/shared/ui目录
cd ../packages/shared/ui
git clone <ui项目地址> .

3. 清理独立Git记录并提交

进入每个拉取的项目目录,删除.git文件夹:

rm -rf apps/site/.git apps/admin/.git apps/auth/.git packages/shared/ui/.git

回到Monorepo根目录提交所有文件:

cd ../../
git add .
git commit -m "初始化Monorepo,整合所有项目文件"

两种方式对比

  • 保留历史:操作稍繁琐,但完整保留各项目的原始提交记录,便于后续追溯、回滚。
  • 直接拉取:操作简单高效,但丢失各项目独立Git历史,仅保留整合后的提交记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 09:51:14