git
を使っていると、ブランチを作ってマージを繰り返すとマージしているブランチがローカルに残っていきます。既にマージされているブランチを一括で削除する方法を紹介します。
前提として、master
/dev
ブランチがメインブランチと存在し、新しいブランチは dev
ブランチにマージされているものとします。
マージ済みブランチの確認
ローカルにあるブランチで dev
ブランチにマージされているのを確認
git branch --merged dev
リモートにあるブランチで dev
ブランチにマージされているのを確認
git branch -r --merged dev
マージ済みブランチの削除
ローカルにあるブランチで dev
ブランチにマージされているものを一括で削除 但し、現在選択しているブランチ(*
がついているブランチ)、メインブランチの master
/dev
は除く。
git branch --merged dev | grep -vE '^\*|master$|dev$' | xargs -I % git branch -d %
リモートにあるブランチで dev
ブランチにマージされているものを一括で削除 但し、現在選択しているブランチ(*
がついているブランチ)、メインブランチの master
/dev
は除く。
git branch -r --merged dev | grep -vE '^\*|master$|dev$' | xargs -I % git branch -d %
上記コマンドの注意点は、チームで git
を使っている場合にはメンバーのリモートブランチを削除してしまいます。そのため、運用によってはリモートのマージ済みブランチは一括で削除せず、確認のみとする方が良い場合もあるかと思います。