#!/bin/sh # Remove the given branch locally and remotely. # Without argument delete the current branch after switching to the default branch. branch=${1:-$(git curbranch)} echo "${@:-$branch}" | sed 's/\([^ ]\+\)/\1@{push}/g' | xargs git rev-parse --abbrev-ref --revs-only | sed 's/\// /' | xargs -L 1 --no-run-if-empty git push -d test -n "$1" || git checkout main || git checkout master || git checkout $(cat "$(git rev-parse --git-path refs/remotes/origin/HEAD)" | sed 's|.*/||') git branch -D "${@:-$branch}"