dotfiles/.local/bin/scripts/git-rmbranch

8 lines
473 B
Plaintext
Raw Normal View History

#!/bin/sh
# Removes the given branch locally and remotely.
# With no argument it switches to the default branch and deletes the current branch.
branch=${1:-$(git curbranch)}
2021-04-21 17:51:14 +00:00
echo "${@:-$branch}" | sed 's/\([^ ]\+\)/\1@{push}/g' | xargs git rev-parse --abbrev-ref --revs-only | sed 's/\// /' | xargs git push -d
2021-02-16 12:11:05 +00:00
test $1 || git checkout main 2>/dev/null || git checkout master || git checkout $(cat .git/refs/remotes/origin/HEAD | cut -d'/' -a)
git branch -D "${@:-$branch}"