Git 子模块管理技巧
基本操作
添加子模块
git submodule add <repository-url> <path>
初始化子模块
git submodule init
更新所有子模块
git submodule update --init --recursive
高级操作
克隆包含子模块的仓库
# 方法1:分步克隆
git clone <repository-url>
git submodule init
git submodule update
# 方法2:一步完成
git clone --recursive <repository-url>
更新特定子模块
git submodule update --remote <submodule-name>
删除子模块
# 1. 取消注册子模块
git submodule deinit -f <path>
# 2. 从工作区删除子模块
rm -rf <path>
# 3. 从 .git/modules 删除子模块
rm -rf .git/modules/<path>
# 4. 从版本控制中删除子模块信息
git rm -f <path>
最佳实践
- 在主项目中避免修改子模块的内容
- 定期更新子模块以获取最新改动
- 使用相对路径引用本地子模块
- 在团队中统一子模块的版本
- 谨慎处理子模块的分支切换