将代码仓库转移到monorepo如果直接将代码复制到大仓中就会丢失原本的代码提交记录。而大多数情况下我们希望保留提交记录以方便后期问题定位等情况。
- 在原仓库中进行以下操作,这里注意文件移动需要时间,确保全部文件移动完成后再进行下一步提交操作
# 移动文件
git mv -k * projects/{你的项目名}
git mv -k .* projects/{你的项目名}
# 提交仓库
git commit && git push
- 在迁移目标仓库中进行以下操作
git remote add -f my-app {原仓库git地址}
git merge my-app/{分支名} --allow-unrelated-histories
git remote remove my-app
git push