git-cleanup command
Posted on
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
#!/bin/sh
set -eu
usage() {
cat <<-'EOF'
Usage:
git cleanup
git cleanup -h
EOF
}
help() {
cat <<-'EOF'
Options:
-h, --help show this message
EOF
}
for flag in "$@"; do
case "$flag" in
--)
break
;;
--help)
usage
help
exit
;;
*)
;;
esac
done
while getopts 'h' flag; do
case "$flag" in
h)
usage
help
exit
;;
*)
usage >&2
exit 2
;;
esac
done
shift $((OPTIND - 1))
git branch --merged |
grep -v -e '^\*' -e '^. main$' |
xargs git branch -d
|