将已存在的git仓库移动到新建的父仓库下
· 阅读需 9 分钟
还原当时情景🔄️
为了方便,库的名称就用仓库1,仓库2...命名了
我当时具有两个本地仓库仓库1,仓库2,并且都已经连接到了远程仓库。
由于在与 AI 讨论下一步开发规划的时候,我引用的是我两个仓库的父文件夹,所以 AI 提供的下一步规划中包含了我父文件夹的 README.md 等的内容。
由于本人具有一点点强迫症😶🌫️以及有亿点懒,综合考虑之下,AI 说什么就是什么吧,因此我就考虑该如何不重复提交很多代码的情况下创建一个父仓库
如果是直接创建一个父仓库并连接远程的话那就简单多了,但是我之前单独创建的那两个仓库有什么意义呢?
AI 娘神力
OK,遇事不决,AI 神力。我直接把疑问甩给了 AI,不得不说,确实好使,还有多种方案。这里我就直接仍方案对比了昂,毕竟每个方案的字数也不少( AI 可是不会省 TOKEN 的😶)
| 方案 | 保持独立 | 保留历史 | 克隆难度 | 适合场景 |
|---|---|---|---|---|
| A. Submodule | ✅ | ✅ | ⭐⭐ | 团队各自维护 |
| B. Subtree | ❌ | ✅ | ⭐ | 一个仓库管理所有 |
| C. 直接复制 | ❌ | ❌ | ⭐ | 历史不重要 |
然后鉴于我既要有要的想法,那当然是选择 A 方案喽
解决方案
现在的场景有个关键点:仓库1 和 仓库2 已经是完整的 git 仓库了,直接把它们作为 submodule 加进来,需要先把它们"挪出去"再添加
创建父仓库
登录你自己的 github ,然后创建一个父仓库,注意,不要勾选 "Add a README file" 和 ".gitignore"(保持空仓库) ,然后记住你的这个远程仓库的地址
https://github.com/你的用户名/父仓库.git
