如何在Git嵌套子模块中单独拉取指定的嵌套子模块?
单独拉取嵌套Git子模块的方法
有两种可行的方式实现单独拉取主项目子模块中的嵌套子模块:
方式1:进入外层子模块目录操作
- 克隆主项目并进入目录
git clone mainproject.git cd mainproject - 初始化并拉取外层子模块
subprojectgit submodule update --init subproject - 进入
subproject,单独拉取目标嵌套子模块
如果遇到cd subproject # 初始化并拉取submodule1 git submodule update --init submodule1pathspec报错,可拆分为两步执行:git submodule init submodule1 git submodule update submodule1
方式2:在主项目目录直接指定完整路径
无需进入子模块目录,直接通过相对于主项目的完整路径指定嵌套子模块,Git会自动处理层级依赖:
git clone mainproject.git cd mainproject # 直接拉取subproject下的submodule1 git submodule update --init subproject/submodule1
报错原因说明
你之前的操作失败,是因为刚拉取subproject后,Git尚未加载该子模块内部的.gitmodules配置信息。上述两种方式都会先确保外层子模块的配置被正确识别,再拉取嵌套子模块。
内容的提问来源于stack exchange,提问作者User001
相关产品推荐
相关产品推荐

