🐷

マージしたローカルブランチの一括削除方法

2023/12/23に公開

こんにちは、りょうです。開発を進めていると、ローカルブランチにマージしたブランチが溜まっていってしまうので、なんとかしたいなあと思い、特定のブランチにマージ済みのローカルブランチを一括削除するコマンドを試しました。
その備忘録として本記事を執筆します。
※随時加筆していきます。

マージ済みローカルブランチ一括削除

$  git branch --merged origin/HEAD | grep -Ev '^\*|main$' | xargs git branch -d

上記コマンドはリモートリポジトリのデフォルトブランチにマージ済みのブランチをまとめて削除するコマンドです。grepで作業中のブランチとmainブランチを除くブランチを検索し、git branch -dで対象のブランチを削除しています。

例えば、リモートリポジトリのデフォルトブランチがdevelopブランチの場合に、developブランチに移動してから下記コマンドを実行すると、developブランチにマージ済みのブランチが出力されます。個人的には削除前に対象のブランチを把握したほうが安心かなと思います。

$  git branch --merged origin/HEAD | grep -Ev '^\*|main$' 

役立つかもしれないコマンド

$ git remote show origin

上記のコマンドを実行すると、リモートリポジトリのoriginの情報が一覧で確認できます。

  • Fetch URL
  • Push URL
  • HEAD branch
  • Remote branches
  • Local branches configured for 'git pull'
  • Local refs configured for 'git push'

まとめ

ローカルのブランチが散らかりがちだったので、今回の記事作成にあたり学んだことを横展開して色んな場面に応用していきたいです。gitのことやgrepのオプションのことも改めて学ぶ機会となりました。
最後まで読んでいただきありがとうございました。どなたかの参考になれば幸いです。

参考記事

https://qiita.com/ruru8/items/fb14514ba2c1e2d4e958
https://qiita.com/mather314/items/a1536c52a2eb0426b2b5

Discussion