目的
ローカルに溜まった Git のブランチを削除したい。
探した限りでは Windows 向けのコマンドがなかったので、ここで取り扱っておく。
Windows 向けコマンド
Windows のパワーシェルではegrep
が使用できないため、Select-String
で代用します。Select-String
からパイプで渡されたテキストから正規表現パターンに一致しない行を選択し、それらの行を ForEach-Object
を使ってブランチを削除する Git コマンドに渡します。
$ git branch --merged | Select-String -Pattern '^\*|develop|master|main' -NotMatch | ForEach-Object { git branch -d $_.Line.Trim() }
Mac (Linux) 向けコマンド
Mac では egrep
コマンドが使えるため、使用します。
マージ済みの main ブランチ以外のものを選択し、削除するコマンドです。
$ git branch --merged|egrep -v '\*|develop|main'|xargs git branch -d
参考
Gitでマージ済みブランチを一括削除 - Qiita
目的Gitのブランチはマージしても消えてくれないので定期的に掃除しないとゴミが残ってうざい。というわけで、さくっと消す方法。ローカルでマージ済みブランチの一覧を表示git branch --…