How Do I “Git Clone” a Repo, Including Its Submodules?

Better Stack Team
Updated on June 24, 2024

To clone a Git repository including its submodules, you need to use the --recursive option with the git clone command. This option tells Git to initialize and clone all submodules recursively.

Here's the command:

 
git clone --recursive <repository-url>

Replace <repository-url> with the URL of the repository you want to clone.

For example:

 
git clone --recursive <https://github.com/example/repository.git>

This command will clone the repository and initialize its submodules.

Note:

  • Submodules are repositories nested within another repository.
  • When you clone a repository with submodules using the -recursive option, Git clones the main repository and recursively initializes and clones all submodules.
  • If you have already cloned a repository and want to fetch its submodules, you can use git submodule update --init --recursive inside the cloned repository directory.
  • Make sure you have appropriate permissions to access both the main repository and its submodules.
Got an article suggestion? Let us know
Explore more
Git
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.