🐷
マージしたローカルブランチの一括削除方法
こんにちは、りょうです。開発を進めていると、ローカルブランチにマージしたブランチが溜まっていってしまうので、なんとかしたいなあと思い、特定のブランチにマージ済みのローカルブランチを一括削除するコマンドを試しました。
その備忘録として本記事を執筆します。
※随時加筆していきます。
マージ済みローカルブランチ一括削除
$ 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のオプションのことも改めて学ぶ機会となりました。
最後まで読んでいただきありがとうございました。どなたかの参考になれば幸いです。
参考記事
Discussion