概述
在多人协作或复杂项目开发中,我们常需要引用其他独立的 Git 仓库(如公共组件库、工具模块)作为项目依赖。Git Submodule(子模块)正是为解决这一需求而生 —— 它允许将一个 Git 仓库作为另一个 Git 仓库的 “子目录”,同时保持两个仓库的版本控制独立:主项目仅记录子模块的 “引用信息”(如仓库地址、当前版本),子模块自身仍保留完整的 Git 历史和提交记录。
相比直接复制依赖代码(易造成版本混乱)、使用包管理工具(如 npm、pip,需额外维护包仓库),Git Submodule 的优势在于:
- 版本精准控制:主项目可指定子模块的具体提交版本,避免依赖自动升级导致的兼容性问题;
- 仓库独立维护:子模块的更新可独立进行,主项目按需同步,不影响双方开发流程;
- 轻量集成:无需额外工具,直接通过 Git 原生命令管理,学习成本低。
2021/8/13大约 10 分钟