Getting rid of submodules
Posted on Sat 07 November 2015 in Repository maintenance
I'm not a fan of submodules. They do have their place, and they can be used in a good way. But they're cumbersome to use and they're too often used as a poor substitute for properly managing dependencies.
So here's how to delete a submodule from your repository that you've added for the wrong reason, or want to get rid of for any other reason.
- Delete the submodule from .gitmodules. If there are no more submodules left, remove the file completely.
git add .gitmodulesto tell git about the change
rm -rf path/to/submoduleto get rid of the files
git rm -f --cached path/to/submoduleto tell git to get rid of the files. Having to do this in two steps is one of the things that is cumbersome about submodules.
Once you've committed that change, you will need to inspect .git/config and .git/modules for more leftovers that need removing.