[Git] ローカルのブランチを掃除するためのコマンド
1 min read
背景
開発しているとローカルのブランチが増えてきて、どれがマージ済みでどれがマージされていないかわからなくなってくる。ローカルのブランチを一気に削除するか、マージ済みなものだけを削除しておきたい場合がある。
仕様
- ベースブランチが
master
またはmain
を想定
masterとmain以外のブランチを削除する
git branch | grep -Ev "master|main" | xargs git branch -D
git branch
でローカルのブランチの一覧を取得して、grep
でmaster
とmain
を除外して、xargs
でgit branch -D
に渡してローカルのブランチを削除する。
マージ済みブランチの一覧を削除する
git branch --merged | grep -Ev 'master|main' | xargs git branch -D
git branch --merged
でマージ済みのリモートブランチの一覧を取得できる。それをgrep
でmaster
とmain
を除外して、xargs
でgit branch -D
に渡してローカルのブランチを削除する。
事前にgit fetch
をしておくと良い。