main・develop以外の「mainにマージ済み」のローカル・リモートブランチ削除
git checkout main
git branch -r --merged main | grep -vE "develop|main" | cut -d "/" -f2- | xargs -t -I{} git push --delete origin {}
git branch --merged|egrep -v '\*|develop|main'|xargs git branch -d
ローカルブランチ
main以外のローカルブランチ削除
git checkout main
git branch | xargs git branch -D
mainとdevelop以外のローカルブランチ削除
git branch --merged|egrep -v '\*|develop|main'|xargs git branch -d
リモートブランチ
fetch前になくなったリモートブランチの削除
git fetch --prune
または
git fetch -p
mainにマージ済みのリモートブランチ全削除
git branch -r --merged main | cut -d "/" -f2- | xargs -t -I{} git push --delete origin {}
mainにマージ済みのリモートブランチでdevelop(mainも)だけ避けて全削除
git branch -r --merged main | grep -vE "develop|main" | cut -d "/" -f2- | xargs -t -I{} git push --delete origin {}
参考