How Do I Remove a Git Submodule?

Better Stack Team
Updated on June 24, 2024

To remove a submodule from a Git repository, you need to follow these steps:

Step 1: Remove the Submodule Entry

Remove the submodule entry from the .gitmodules file and remove the submodule directory from the working directory.

You can edit the .gitmodules file manually or use the following command to remove the submodule entry:

 
git submodule deinit -f -- <submodule-path>

Replace <submodule-path> with the path to the submodule directory.

Step 2: Remove Submodule Directory

Now, remove the submodule directory from the working directory and the index. Use the following commands:

 
git rm -f <submodule-path>

Step 3: Remove Submodule Configuration

Finally, remove the submodule configuration from the Git configuration:

 
git config -f .git/config --remove-section submodule.<submodule-path>

Step 4: Remove Submodule Files (Optional)

If you no longer need the submodule files, you can also delete them from the filesystem using:

 
rm -rf <submodule-path>

Note:

  • Be careful when removing a submodule, as it can't be undone. Ensure that you have backups or don't need the submodule anymore.
  • These steps remove the submodule locally. If you've pushed the changes to a remote repository, you may also need to push the changes to the remote repository after completing these steps.
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