'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 |