Skip to content

Instantly share code, notes, and snippets.

@LuisAlejandro
Created April 15, 2020 04:19
Show Gist options
  • Save LuisAlejandro/94de5073a44bff8f7386f9acedbb6f04 to your computer and use it in GitHub Desktop.
Save LuisAlejandro/94de5073a44bff8f7386f9acedbb6f04 to your computer and use it in GitHub Desktop.
This script deletes a submodule from the repository
# This script deletes a submodule from the repository
# Usage: bash remove-submodule.sh <submodule name>
submodule_name=$(echo "$1" | sed 's/\/$//'); shift
exit_err() {
[ $# -gt 0 ] && echo "fatal: $*" 1>&2
exit 1
}
if git submodule status "$submodule_name" >/dev/null 2>&1; then
git submodule deinit -f "$submodule_name"
git rm -f "$submodule_name"
git config -f .gitmodules --remove-section "submodule.$submodule_name"
if [ -z "$(cat .gitmodules)" ]; then
git rm -f .gitmodules
else
git add .gitmodules
fi
else
exit_err "Submodule '$submodule_name' not found"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment