tj.git-extras/bin/git-delete-branch
2023-01-20 18:17:49 +08:00

18 lines
475 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" || echo "origin")
ref=$(git config "branch.$branch.merge" || echo "refs/heads/$branch")
git branch -D "$branch" || true
# Avoid deleting local upstream
[ "$remote" = "." ] && continue
git branch -d -r "$remote/$branch" || continue
git push "$remote" ":$ref"
done