やりたいこと
開発していると不要なブランチがローカルに溜まってしまうのでまとめて一発で削除したい
コマンド
パイプとxargsを利用してまとめて消せるようにしたコマンド
$ git branch | grep -v "*" | grep -v master | xargs git branch -D
grep の -v
オプションは除外。
ブランチ一覧から、カレントを示す *
と masterブランチを除外し、ブランチを削除する
エイリアス化
時々実行することがあるので、 zshrc にエイリアスとして以下を追加した。
alias delete_branches='git branch | grep -v "*" | grep -v master | xargs git branch -D'
利用してみる
$ delete_branches Deleted branch feature/1xhe8z (was 39c4a8ce). Deleted branch feature/29jz8b (was 0afd71da). Deleted branch fix/29jgvq (was 5872b902).
楽になった。
feature/xxxx
みたいなブランチ運用している時には↓のようにしてもいいかもですね。
$ git branch | grep -v "*" | grep feature | xargs git branch -D