Skip to content

Instantly share code, notes, and snippets.

@nightsparc
Forked from moyaldror/remove_git_submodule.sh
Created February 28, 2019 11:59
Show Gist options
  • Save nightsparc/6d3b3c45bfc05092a10732a1495163c9 to your computer and use it in GitHub Desktop.
Save nightsparc/6d3b3c45bfc05092a10732a1495163c9 to your computer and use it in GitHub Desktop.
Complete remove of git submoule
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $0 <submodule full name>"
exit 1
fi
MODULE_NAME=$1
MODULE_NAME_FOR_SED=$(echo $MODULE_NAME | sed -e 's/\//\\\//g')
cat .gitmodules | sed -ne "/^\[submodule \"$MODULE_NAME_FOR_SED\"/,/^\[submodule/!p" > .gitmodules.tmp
mv .gitmodules.tmp .gitmodules
git add .gitmodules
cat .git/config | sed -ne "/^\[submodule \"$MODULE_NAME_FOR_SED\"/,/^\[submodule/!p" > .git/config.tmp
mv .git/config.tmp .git/config
git rm --cached $MODULE_NAME
rm -rf .git/modules/$MODULE_NAME
rm -rf $MODULE_NAME
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment