【Git】ローカルからマージ済みのブランチを一括削除
機能に引き続き今日も3秒で終わってしまう記事ですが、タイトルの通りマージ済みのブランチを一括削除する方法を紹介します👷♀️
やっていく
下記のコマンドを実行することにより、develop
ブランチ以外のマージ済みブランチはローカルから一括削除されます。
$ git branch --merged|egrep -v '\*|develop'|xargs git branch -d
各コマンドの説明とフローは下記になります。
まず
git branch --merged
でマージ済みのブランチを出力します。次に、
egrep -v '\*|develop'
で、1.
の出力から-v
オプションを使用してdevelop
の出力を除外し、残りのブランチを出力します。grep
ではなく、egrep
を使うことで、拡張正規表現を使用できるようになります。
最後に
xargs git branch -d
で、2.
の出力結果をもとにローカルブランチを削除します。xargs
は、前のコマンドの出力を受け取り次のコマンドの引数として渡してくれるコマンドです。詳しくは下記の記事を参考にしてみてください。
また、egrep
での正規表現の指定がわからないという方は以前に正規表現についての記事を書いたので参照してみてください!
参考
- https://qiita.com/hajimeni/items/73d2155fc59e152630c4#%E4%B8%80%E6%8B%AC%E5%89%8A%E9%99%A4
- https://techblog.kyamanak.com/entry/2018/02/12/202256
- https://www.qoosky.io/techs/7149afb35f
- https://qiita.com/mtanabe/items/61bcdd3ab6b0eaa442a8