Skip to content

Instantly share code, notes, and snippets.

@andresjz
Forked from myusuf3/delete_git_submodule.md
Created June 23, 2020 16:49
Show Gist options
  • Save andresjz/6559c1802f137cfdd64c32f9e8178773 to your computer and use it in GitHub Desktop.
Save andresjz/6559c1802f137cfdd64c32f9e8178773 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
@andresjz
Copy link
Author

git submodule deinit <path_to_submodule>
git rm <path_to_submodule>
git commit-m "Removed submodule "
rm -rf .git/modules/<path_to_submodule>

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

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