Git 子模块是一种用于管理嵌套仓库的机制,允许你将一个 Git 仓库作为另一个仓库的子目录。以下是关键知识点:

⚙️ 基本操作流程

  1. 初始化子模块

    git submodule add <仓库URL> <子目录路径>
    

    📌 示例:git submodule add https://github.com/example/repo.git docs/submodule

  2. 更新子模块

    • 获取最新代码:git submodule update
    • 拉取特定分支:git submodule update --remote
  3. 提交子模块变更

    git add <子目录路径>
    git commit -m "更新子模块"
    

📌 典型使用场景

  • 项目依赖第三方库但需独立维护
  • 多团队协作开发时隔离功能模块
  • 需要跟踪外部仓库特定提交记录

⚠️ 注意事项

  • 子模块会增加仓库复杂度,建议仅在必要时使用
  • 要确保所有协作者已初始化子模块:
    git submodule init
    git submodule update
    
  • 子模块历史记录存储在 .git/modules/<子目录> 目录中

📘 扩展阅读

git_submodule
嵌套仓库