11 lines
519 B
Bash
Executable File
11 lines
519 B
Bash
Executable File
#!/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}"
|