我有一个不需要我的子模块的子模块。例如:
mainProject
- usefulSubmodule
- notNeededSubmodule
所以在mainProject
中,我这样定义.gitmodules
:
[submodule "usefulSubmodule"]
path = lib/usefulSubmodule
url = https://whatever
fetchRecurseSubmodules = false
然后我在更新后运行git submodule update --init --recursive
,似乎这忽略了fetchRecurseSubmodules
的值(根据文档https://git-scm.com/docs/gitmodules#Documentation/gitmodules.txt-submoduleltnamegtfetchRecurseSubmodules,我猜可能是正确的)]
因此,我的问题是,如何在更新过程中禁用此行为而不覆盖它?在尊重该标志的同时更新所有子模块的最佳方法是什么?
因此
on-demand
是此属性的默认值(如果不存在)?
是,这是git config fetch.recurseSubmodules
指定的内容:
[当设置为
git config fetch.recurseSubmodules
(默认值)时,on-demand
和fetch
仅在其超级项目检索更新该子模块引用的提交时,才会递归到填充的子模块中。
注意:如果要在本地覆盖(仅用于一个命令)配置:
pull
但是在这种情况下,它不是必需的(这只是说明如何为一个git -c fetch.recurseSubmodules=on-demand submodule update --init
命令设置配置)