今回はGitを使っているうちに不要になったローカルブランチを一括削除する方法を紹介する。

まず、以下のようなhotfixブランチが大量にある場合を例にしよう。

・hotfix_aaa
・hotfix_bbb
・hotfix_ccc

ローカルブランチを削除するコマンドはgit branch -d ブランチ名だが、上記のように削除したいブランチが多数ある場合、一回一回コマンドを実行しなければならず非常に面倒くさい。

今回の例のように削除したいブランチ名に一定のルール(hotfixから始まるなど)がある場合、grepコマンド、xargsコマンドと組み合わせることで、以下のように一つのコマンドで一括削除することができる。

git branch | grep hotfix | xargs git branch -d

grepコマンドは正規表現を使ってデータを抽出することができるLinuxコマンドで上記の場合、全ブランチの中から「hotfix」を含むブランチ名を抽出し、xargsコマンドに続くブランチ削除コマンドgit branch -dへ引数として送り込んでいる。

こうして3つのコマンドをパイプ区切りで組み合わせることで、1行のコマンドで複数のブランチを一括削除することができる。