Git:子模块
Eijux(讨论 | 贡献)2020年10月14日 (三) 03:34的版本 (建立内容为“category:Git == 关于submodule == 项目根目录下有一个.gitmodules文件,即子模块关联文件,如: <syntaxhighlight lang="properties"> [subm…”的新页面)
关于submodule
项目根目录下有一个.gitmodules文件,即子模块关联文件,如:
[submodule "modules/suba"]
path = modules/suba
url = https://github.com/test/suba.git
每添加一个子模块就会新增一条记录,如果是第一次添加Git子模块会自动生成。
拉取submodule
当一个 git 项目包含子模块(submodule) 时,直接克隆下来的子模块目录里面是空的。有两种方法解决:
- 如果项目已经克隆到了本地,执行下面的步骤:
- 初始化本地子模块配置文件:
git submodule init
- 更新项目,抓取子模块内容:
git submodule update
- 初始化本地子模块配置文件:
- 对于未克隆项目,使用“--recursive”参数,可以自动初始化并更新每一个子模块。
git clone --recursive 仓库地址
Note:
- 对于仓库首次拉取模块,可以使用:
git submodule update --init --recursive
- 更新子模块
# (适用于git 1.8.2及以上版本) git submodule update --recursive --remote #(适用于git 1.7.3及以上版本) git submodule update --recursive # 或者 git pull --recurse-submodules