今回は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行のコマンドで複数のブランチを一括削除することができる。