tj.git-extras/bin/git-delete-branch
2017-03-18 22:13:57 +08:00

20 lines
476 B
Bash
Executable file

#!/usr/bin/env bash
set -e
# Assert there is at least one branch provided
test -z $1 && echo "branch required." 1>&2 && exit 1
for branch in "$@"
do
remote=$(git config branch.$branch.remote)
test -z $remote && remote="origin"
ref=$(git config branch.$branch.merge)
test -z $ref && ref="refs/heads/$branch"
git branch -D $branch
# Avoid deleting local upstream
[ "$remote" == "." ] && continue
git branch -d -r $remote/$branch
git push $remote :$ref
done