Open1

【git】ローカルにある不要なブランチを一括で削除

yu.miyoshiyu.miyoshi

概要

チーム開発をする中で、ブランチを切りながら作業をすると思いますが、
開発をするにつれて、ローカルのブランチがどんどん増えていくことが多々あり、一括で削除をしたく、方法を模索してみた。(マージの都度ブランチを削除していけばいいのだが、どうも溜め込んでしまい。。)

したこと

前段として、ローカルのブランチをひとつずつ削除するならば

$ git branch -d [branchname]

でOK
マージが完了していないブランチは -d では消せないので、

$ git branch -D [branchname]

で強制的に削除ができる

ローカルのdevelopブランチだけを残し、他のブランチを削除したいのであれば、developブランチに移動し、削除を実行する

git checkout develop # masterブランチに切り替え
git branch | xargs git branch -D

注意点

オプションに-Dをつけることで、マージ前のブランチも削除されるので、小文字の-dオプションで実行し、マージ済みのブランチを先に削除でもよい
必要なブランチの削除に気をつけてください。

参考サイト

https://nprog256.net/post/2019/05/delete-all-local-branch/
https://qiita.com/mather314/items/a1536c52a2eb0426b2b5