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
Building on the answers above...
If you're doing this a lot, you can create an executable script discoverable in your PATH named
git-submodule-remove
with the following contents: https://github.com/panozzaj/conf/blob/master/common/bin/git-submodule-removeThen you can run
git submodule-remove path/to/submodule
to quickly remove it.