はじめに
ローカルブランチやリモートブランチで、使わないのに残り続けている不要なブランチはありませんか?
不要なブランチを削除しておくと、以下のようなメリットがあります。
- メモリの節約
- ブランチ一覧がスッキリする(
git branch
や GitHubでのブランチ選択) - 候補数が減り、自動補完が効きやすくなる
今回、自分が使えそうだと思ったブランチ削除のやり方を、ローカルブランチ・リモート追跡ブランチ・リモートブランチに分けて紹介していきたいと思います。
ローカルブランチ
開発を始める際には、まずリモートの更新内容をローカルにプルしてから、開発用にブランチを切って作業を進めていきます。なので、リリースが完了した時や、開発したコードを一通りリモートにプッシュしてが一区切りした時のようなタイミングで、 master
ブランチ以外の全てのブランチを削除してしまうのが一番簡単だと思います。
デフォルトブランチにチェックアウトしてから下記のコマンドを実行することで、デフォルトブランチ以外のブランチを全て削除できます。
git branch | grep -Ev "master|main" | xargs git branch -D
上記のコマンドは、デフォルトブランチが master
, main
どちらの場合でも処理できる書き方になっていますが、デフォルトブランチ名が分かっている場合は、より簡潔に書くことができます。
例えば、デフォルトブランチが master
である場合は、下記のようになります。
git branch | grep -v master | xargs git branch -D
リモート追跡ブランチ
下記のコマンドを実行すると、追跡するブランチが存在しなくなったリモート追跡ブランチが全て削除されます。
git fetch -p
リモートブランチ
リモートブランチについては、自分が作成したブランチの中で不要なブランチを削除します。リモートブランチはGitHubで確認することができます。GitHubのブランチ一覧ページにある、 Your branches で自分が作成したブランチを確認できます(下図参照)。マージ済みのラベルもあるので、それも確認しつつ不要なブランチを削除していきましょう。他の人が作ったブランチを勝手に削除しないように注意しましょう。
終わりに
以上、不要ブランチを削除する方法を紹介しました。
個人的には、不要ブランチを削除して自動補完が効きやすくなったのが一番良かったです。
Git運用の仕方によって、ブランチ削除の基準も変わってくるので、あくまで一例として参考にしていただけたらと思います。