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.

Make your mark

Join the writer's program

Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.

Write for us
Writer of the month
Marin Bezhanov
Marin is a software engineer and architect with a broad range of experience working...
Build on top of Better Stack

Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our email.

community@betterstack.com

or submit a pull request and help us build better products for everyone.

See the full list of amazing projects on github