I have a project that's consisted of two branches: STABLE and DEVELOPMENT. As the names suggested, DEVELOPMENT is the ever-ongoing developing branch and STABLE is the stable-but-not-so-new branch; hence the versions of submodules (and sub-submodules) in DEVELOPMENT are often ahead of STABLE.
Now, whenever I need to checkout from DEVELOPMENT to开发者_JS百科 STABLE, git submodules update --recursive will not get into these "sub-submodules" at all and their directory will simply become empty, while all the submodules will be properly shunted back to an older version if needed. I have no idea how to get this right and would appreciate some helps.
Found the answer myself:
git submodule update --init --recursive
is a neat one-line command to do the job.
精彩评论