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
To change url of a submodule:
- modify .gitmodules, change the url. And this can be replaced by the following two commands, stackoverflow:
- git config --file=.gitmodules submodule.Submod.url https://github.com/username/ABC.git
- git config --file=.gitmodules submodule.Submod.branch Development
- git submodule sync
- git submodule update --init --recursive --remote