Git 子模块官方文档

Git 子模块是 Git 版本控制系统中的一种特性,它允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。这种机制在开发大型项目时非常有用,可以让你将项目分解成多个模块,每个模块可以独立管理和更新。

什么是子模块?

子模块是一个 Git 仓库,它被包含在另一个 Git 仓库中。你可以将子模块看作是一个独立的仓库,但同时它也是父仓库的一部分。

如何使用子模块?

  1. 添加子模块: 使用 git submodule add 命令添加子模块到你的父仓库中。

    git submodule add <子模块仓库地址> <子模块目录>
    
  2. 克隆带有子模块的仓库: 当你克隆一个带有子模块的仓库时,Git 会自动为你克隆子模块。

    git clone <父仓库地址>
    
  3. 更新子模块: 使用 git submodule update 命令更新子模块。

    git submodule update --remote
    
  4. 移除子模块: 使用 git submodule remove 命令移除子模块。

    git submodule remove <子模块目录>
    

子模块的配置文件

子模块的配置文件位于父仓库的 .gitmodules 文件中。该文件包含了子模块的详细信息,如子模块的路径、URL 等。

示例

假设你有一个父仓库 parent-repo,你想添加一个子模块 child-repo。你可以按照以下步骤操作:

  1. 在父仓库中创建一个名为 modules 的目录。

  2. 使用 git submodule add <子模块仓库地址> 命令添加子模块。

  3. 在父仓库中,.gitmodules 文件将包含以下内容:

    [submodule "modules/child-repo"]
        path = modules/child-repo
        url = <子模块仓库地址>
    
  4. 当你克隆父仓库时,Git 会自动克隆子模块。

更多关于 Git 子模块的信息,请参阅 Git 子模块官方文档

图片示例

Git 子模块结构

Git 子模块结构