我使用的是Git Bash for Windows版本2.34.1.windows.1
。我希望Git在我执行clone
、checkout
或pull
时自动初始化子模块。我发现了这个问题,但公认的答案是,你用配置它
git config --global submodule.recurse true
没有任何效果。做了clone
之后,我仍然需要进入存储库并进行
git submodule update --init
以获得子模块。
我有什么东西不见了吗?Git的其他版本和我现在使用的版本之间有什么变化吗?Windows版本可能不支持此设置吗?
这种行为有充分的理由吗,还是git处理子模块不力?
如前所述,子模块表示依赖存储库历史的固定时间点。默认情况下,没有更新。
我提到了新的Git 2.34+设置submodule.stickyRecursiveClone
,它将允许其他命令(git pull
、git switch
…(使用--recurse-submodules
,而无需明确添加选项。
但是git clone
仍然需要--recurse-submodules
来克隆存储库。