Gitでローカルブランチを一括で削除する方法を紹介!
Gitでローカルブランチを削除する際にはブランチ名を指定して削除するため、基本的にローカルブランチは1つずつしか削除できません。ですが、不要なブランチは一括で削除できた方が便利です。この記事ではGitでローカルブランチを一括で削除する方法を紹介していきます。
Gitでローカルブランチを一括で削除したい
Gitで不要なローカルブランチを一括で削除したいと思ったことはないでしょうか?
Gitでローカルブランチを削除するコマンドは下記の通りです。
git branch --delete ブランチ名
git branch -d ブランチ名
git branch -D ブランチ名
--delete
オプションと-d
オプションは基本的に同じ意味でマージ済みのブランチを削除してくれます。-D
オプションはマージしていない分ランチであっても削除することが出来ます。
上記のコマンドの通り、ブランチ名を指定して削除するため基本的に1つのブランチを順番に削除していくほかありません。
ですが、この記事ではローカルブランチを一括で削除する方法を紹介していきたいと思います。
Gitでローカルブランチを一括で削除する方法
xargsコマンドを使って削除する方法
前述したとおり、Gitのローカルブランチは1つずつしか削除することはできませんが、xargs
コマンドを使用することで不要なローカルブランチを一括で削除することが可能になります。
xargs
コマンドとは標準入力を読み込み、それを引数として指定したコマンドを実行することが出来る仲介役をになってくれるコマンドです。
それではxargs
コマンドと組み合わせて、ローカルブランチを一括で削除していきましょう。
まずは、masterブランチ以外を削除していくので、現在のブランチがmasterブランチであることを確認しましょう。現在のブランチがmasterブランチでない場合はブランチを切り替えましょう。
git checkout master
git branch
branch1
branch2
branch3
* master
現在、masterブランチであることを確認出来たら、下記のコマンドでmasterブランチ以外のブランチを一括で削除することが出来ます。
git branch | xargs git branch -D
git branch
コマンドでローカルブランチを確認すると、masterブランチ以外のローカルブランチが削除されているのが確認できます。
Window(PowerShell)でもローカルブランチを一括で削除する方法
実はxargs
コマンドはUNIX系のLinuxやmacOSでは使用することができますが、Windowsでは基本的に使用することができません。
では、Windowsではローカルブランチを一括で削除することはできないのでしょうか?いや、できます!
xargs
コマンドは使わず、下記のコマンドを使用することでローカルブランチを一括で削除することが出来ます。
git branch | Select-String -NotMatch -Pattern "(\*|master)" | %{ git branch -D $_.ToString().Trim() }
こちらのコマンドでもmasterブランチ以外のローカルブランチを一括で破棄します。
