koogawa blog

iOS、Android、foursquareに関する話題

Gitで不要になったリモートブランチを削除するタイムを設ける

マージ後にブランチを自動削除する運用にしていても、なぜか残ってしまうブランチたち。

↑こうなっていると目的のブランチに辿り着くのに時間がかかるので、特別な理由がない限り不要になったブランチは削除したほうがよい

とはいえ、そのブランチが不要かどうかは、作った本人にしか判断できない問題も生じる。そこでおすすめなのが、定期的に「不要になったリモートブランチを削除するタイム」を設けること。

原始的すぎてビックリしたかもしれないが、もっとも確実な方法だと思う。

自分が作ったブランチは「Yours」タブに集められるので、

次のようにURLも載せてあげると親切だろう。

https://github.com/(プロジェクト)/(リポジトリ)/branches/yours
から不要なブランチをポチポチ消していってね!

また、長い間放置されているブランチは「Stale(=新鮮でない)」タブに集められる。

「⚪︎ヶ月以上使われていないブランチは削除する」のような基準を設けても良いかもしれない。

おまけ:リモートで消されたブランチがローカルに残ってしまう件を解消する

リモートのブランチがスッキリしても、ローカルには不要なブランチが残り続けてしまう。そんなときは下記コマンドでローカルに残ったブランチを一掃できる。*1

$ git remote prune origin

*1:git fetch --prune でも削除できるらしいが、どちらが良いのかはわかっていない