Robust software, for everybody.


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