'Git setting submodule.recurse is not working (Git Bash)

I'm using Git Bash for Windows, version 2.34.1.windows.1. I would like Git to automatically initialize submodules when I do a clone, checkout or pull. I found this question, but the accepted answer, where you configure it with

git config --global submodule.recurse true

does not have any effect. After doing a clone I still have to go into the repository and do

git submodule update --init

to get a submodule.

Is there something I'm missing? Has something changed between those other versions of Git and the one I'm using now? Might the Windows version not honor this setting?



Solution 1:[1]

Are there good reasons for this behavior, or is it just a fact that git handles submodules poorly?

As mentioned before, submodules represent a fixed point in time of the history of a dependent repository. By default, no update.

I mention the new Git 2.34+ setting submodule.stickyRecursiveClone which would allow other commands (git pull, git switch, ...) to use --recurse-submodules without having to add the option explicitely.

But git clone would still require --recurse-submodules to clone the repository.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 VonC