git submodule

在一个 Git 仓库中嵌入另一个 Git 仓库作为子目录

语法

git submodule [<subcommand>] [<options>]

参数

参数说明示例级别
add <url> [<path>] 添加子模块 常用
init 初始化本地子模块配置 常用
update 拉取子模块内容 常用
update --init --recursive 初始化并递归更新所有子模块 常用
status 查看子模块状态 常用
deinit <path> 注销子模块 常用

示例

添加一个子模块到 libs/utils 目录

git submodule add https://github.com/lib/utils.git libs/utils

克隆项目后初始化所有子模块

git submodule update --init --recursive

更新子模块到远程最新提交

git submodule update --remote

克隆时自动初始化子模块

git clone --recurse-submodules <url>

批量更新所有子模块

git submodule foreach 'git pull origin main'

技巧

相关命令