gitのマージ済みなローカルブランチを削除する

GUIでポチポチしてたの面倒くさいので、コマンドでサクッと対応する方法。

詳細

消したくないブランチはgrepに追加する。

git branch --merged | grep -vE '^\*|master$|develop$|main$' | xargs -p -I % git branch -d %

マージされてないブランチ一覧を取得して、grepで消したくないブランチを除外する。

xargsで git branch -d にブランチ名を渡して、 y→enter の押下で削除する。

サンプル:

git branch --merged | grep -vE '^\*|master$|develop$|main$' | xargs -p -I % git branch -d %
git branch -d feature?...

実例:

❯ git branch --merged | grep -vE '^\*|master$|develop$|main$' | xargs -p -I % git branch -d %
git branch -d create-blog/20230903-175258?...y
Deleted branch create-blog/20230903-175258 (was 193ced7).

まとめ

コマンド入れてもノーチェックで消すわけではないので安心できる。

ローカルににある不要なブランチは削除してキレイに!