🐈⬛
【一撃必殺💥】main 以外のマージ済みブランチを一括削除する方法
【Git】main以外のマージ済みブランチを一括削除する方法
開発が進むにつれて、マージ済みブランチが大量に残ることがよくあります。これを一つずつ削除するのは手間なので、効率よく一括削除する方法を紹介します。
結論: 一括削除コマンド
次のコマンドで、main
ブランチ以外のマージ済みブランチをまとめて削除できます。
git branch --merged main | grep -v 'main' | xargs git branch -d
コマンドの意味
各コマンド部分の解説です。
-
git branch --merged main
-
main
にマージ済みのブランチを一覧表示します。
-
-
grep -v 'main'
- 表示された一覧から
main
を除外します。
- 表示された一覧から
-
xargs git branch -d
- 結果の各ブランチを削除します。
実行例
$ git branch
feat/#101
feat/#102
* main
$ git branch --merged main | grep -v 'main' | xargs git branch -d
Deleted branch feat/#101 (was a1b2c3d).
Deleted branch feat/#102 (was d4e5f6a).
$ git branch
* main
強制削除したい場合
まだマージされていないブランチを含めて、強制削除する場合は以下のコマンドを使用します。
git branch | grep -v 'main' | xargs git branch -D
この方法は未マージのブランチも削除するため、慎重に実行してください。
個人的には、この方法を知っているとリポジトリの整理が非常に楽になりました。気づいたらマージ済みのローカルブランチが増えているので定期的に使用しています。
参考
Discussion