Search code examples
gitversion-controlgit-submodulesgit-clone

Empty Git submodule folder when repo cloned


I have one repo hosted at https://github.com/aikiframework/json. On my local copy, I added a submodule using the command:

git submodule add git@github.com:jcubic/json-rpc.git json-rpc

Then I did a commit and push, and the changes appear on GitHub (I can click on it). But when I clone the repo:

git clone https://github.com/aikiframework/json.git

the submodule folder json-rpc is empty.

What am I missing here? Did I forget about something? Why is that folder empty?


Solution

  • OK I found it, needed to add --recursive when cloning the repo.

    So the clone command ends up as:

    git clone https://github.com/aikiframework/json.git --recursive
    

    Note that if you forgot the --recursive flag you can do (thanks to @Amber):

    git submodule update --init
    

    Note that when submodules have other submodules you need recursive option (thanks for @cpprust):

    git submodule update --init --recursive