Retrospectively add --recursive to a git repo

一曲冷凌霜 提交于 2019-11-28 16:18:37

You can do it with this after a simple top-level clone:

git submodule update --init --recursive

I would not recommend making clone do this by default. The proper way to do this if you are using submodules aggressively for development and not just linking to 3rd party OSS libs on github that you may upgrade once in a blue moon, is to use git slave or subtree.

Hope this helps.

  1. From the root of your repo:

    $ git submodule update --init --recursive
    

    That will update any and all registered submodules, initializing them if need be to the value as found in the .gitmodules file, and also recurse into complex submodules (ones with submodules of their own) and initialize and update them as well.

  2. The easiest way I know of to make cloning recursively the default would be to shadow git clone with an alias

    $ git config --global alias.clone = 'clone --recursive'
    

    As far as adding options always, I think that's the idiomatic method.

IIRC, git submodule init, git submodule update

Unfortunately, I do not see an option to enable recursive by default, however.

Dell Kronewitter

It appears you can't override "clone" with alias "clone", so it's a new alias (Abizern's solution) or "--recursive".

Is it possible to override git command by git alias?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!