Skip to content

Instantly share code, notes, and snippets.

@mvoropaiev
Forked from myusuf3/delete_git_submodule.md
Last active October 14, 2019 14:49
Show Gist options
  • Save mvoropaiev/84cdeb175b650c52b2fe831f63ced413 to your computer and use it in GitHub Desktop.
Save mvoropaiev/84cdeb175b650c52b2fe831f63ced413 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 <name>"
  • Delete the now untracked submodule files rm -rf path_to_submodule

Alternative:

  • git config -f .git/config --remove-section submodule.$submodulename
  • git config -f .gitmodules --remove-section submodule.$submodulename
  • git rm --cached $submodulepath
  • rm -rf $submodulepath
  • rm -rf .git/modules/$submodulename
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment