Skip to content

Instantly share code, notes, and snippets.

@selfup
Created September 18, 2019 14:07
Show Gist options
  • Save selfup/dd1c87033178fa5858ceed1fa49f81b3 to your computer and use it in GitHub Desktop.
Save selfup/dd1c87033178fa5858ceed1fa49f81b3 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -e
DIRNAME=$1
if [[ $DIRNAME == '' ]]
then
echo 'NO DIRECTORY SPECIFIED'
echo 'exiting..'
exit 1
fi
git branch -r | grep -v /HEAD
for remote in `git branch -r | grep -v /HEAD`
do
git checkout --track $remote
done
git checkout master
git filter-branch \
--index-filter 'git rm -rf --cached --ignore-unmatch $DIRNAME/' \
--prune-empty \
--tag-name-filter cat -- --all
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
rm -Rf .git/logs .git/refs/original
git gc --prune=all --aggressive
@selfup
Copy link
Author

selfup commented Sep 18, 2019

git push origin --all --force
git push origin --tags --force

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment