Git/マージされているブランチの確認と削除

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 を使っている場合にはメンバーのリモートブランチを削除してしまいます。そのため、運用によってはリモートのマージ済みブランチは一括で削除せず、確認のみとする方が良い場合もあるかと思います。

スポンサーリンク