Git 的“多仓库集成”方案
一、Git Submodule(子模块)
核心思想:
主仓库只记录一个指针(某个子仓库的某次提交 SHA),不直接包含子仓库的文件。子模块的代码库仍然独立存在,可以单独开发、打 tag、管理 issue。
1. 基本原理
- 主仓库根目录下有一个
.gitmodules文件,保存子模块的本地路径和远程 URL。 - 主仓库将子模块对应的目录记录为一个特殊对象(mode 160000),指向子模块仓库的某个 commit。
- 当你克隆主仓库时,子模块目录是空的,需要手动执行
git submodule update --init才能真正拉取对应版本的代码。