Gitでローカルブランチを一括で削除する方法を紹介!

Gitでローカルブランチを削除する際にはブランチ名を指定して削除するため、基本的にローカルブランチは1つずつしか削除できません。ですが、不要なブランチは一括で削除できた方が便利です。この記事ではGitでローカルブランチを一括で削除する方法を紹介していきます。

コンテンツ [表示]

  1. 1Gitでローカルブランチを一括で削除したい
  2. 2Gitでローカルブランチを一括で削除する方法
  3. 2.1xargsコマンドを使って削除する方法
  4. 2.2Window(PowerShell)でもローカルブランチを一括で削除する方法

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ブランチ以外のローカルブランチを一括で破棄します。

GeekHive採用サイト

関連記事