配置.gitmodules的update参数后执行git submodule init报错如何解决
问题原因
submodule.<name>.update是Git的预设配置项,仅支持checkout、rebase、merge、none等固定枚举值,不支持直接追加分支名称,你之前的配置语法不符合Git规范,因此触发参数非法报错。
正确配置方案
步骤1:修改.gitmodules配置
将子模块配置调整为以下格式,新增独立的branch配置项指定默认跟踪分支:
[submodule "test-submodule"] path = test-submodule url = https://... update = checkout branch = develop
步骤2:生效配置
执行以下命令完成子模块初始化,自动切换到develop分支:
- 提交配置修改到父仓库:
git add .gitmodules && git commit -m "配置子模块默认跟踪develop分支" - 初始化并拉取对应分支的子模块代码:
git submodule update --init --remote
补充说明
如果需要所有克隆父仓库的成员都默认拉取子模块的develop分支,只需要将上述修改后的.gitmodules推送到远程仓库即可,其他成员执行git submodule update --init --remote就能自动切换到指定分支。
内容的提问来源于stack exchange,提问作者Yusuf Ipek
相关产品推荐
相关产品推荐

