Skip to content

Instantly share code, notes, and snippets.

@myusuf3
Created November 3, 2014 17:36
Show Gist options
  • Select an option

  • Save myusuf3/7f645819ded92bda6677 to your computer and use it in GitHub Desktop.

Select an option

Save myusuf3/7f645819ded92bda6677 to your computer and use it in GitHub Desktop.
How effectively delete a git submodule.

To remove a submodule you need to:

  • Delete the relevant section from the .gitmodules file.
  • Stage the .gitmodules changes git add .gitmodules
  • Delete the relevant section from .git/config.
  • Run git rm --cached path_to_submodule (no trailing slash).
  • Run rm -rf .git/modules/path_to_submodule (no trailing slash).
  • Commit git commit -m "Removed submodule "
  • Delete the now untracked submodule files rm -rf path_to_submodule
@GTechMicah

Copy link
Copy Markdown

This seems to be a more modern version (copied from https://stackoverflow.com/a/36593218/2066118):

# Remove the submodule entry from .git/config
git submodule deinit -f path/to/submodule

# Remove the submodule directory from the superproject's .git/modules directory
rm -rf .git/modules/path/to/submodule

# Remove the entry in .gitmodules and remove the submodule directory located at path/to/submodule
git rm -f path/to/submodule

We should upvote this answer

For those of us on Windows, here's the equivalent in Powershell:

# Remove the submodule entry from .git/config
git submodule deinit -f path\to\submodule

# Remove the submodule directory from the superproject's .git/modules directory
rm .git\modules\path\to\submodule -r -fo

# Remove the entry in .gitmodules and remove the submodule directory located at path/to/submodule
git rm -f path\to\submodule

Thank You So much guys!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment