[Git] ローカルのブランチを掃除するためのコマンド

1 min read

背景

開発しているとローカルのブランチが増えてきて、どれがマージ済みでどれがマージされていないかわからなくなってくる。ローカルのブランチを一気に削除するか、マージ済みなものだけを削除しておきたい場合がある。

仕様

  • ベースブランチがmasterまたはmainを想定

masterとmain以外のブランチを削除する

git branch | grep -Ev "master|main" | xargs git branch -D

git branchでローカルのブランチの一覧を取得して、grepmastermainを除外して、xargsgit branch -Dに渡してローカルのブランチを削除する。

マージ済みブランチの一覧を削除する

git branch --merged | grep -Ev 'master|main' | xargs git branch -D

git branch --mergedでマージ済みのリモートブランチの一覧を取得できる。それをgrepmastermainを除外して、xargsgit branch -Dに渡してローカルのブランチを削除する。

事前にgit fetchをしておくと良い。