gitのtagをいい感じに削除するshell書いた

Git使ってたらリリースの度にtagをきるんだけどいつの間にかtagの量がスゴいことになってくる。んで、増えすぎたtagを必要なものを残して削除するわけだけど手動で管理してたら面倒だからshell書いた。
どんないい感じにしてくれるかと言うと、
各マイナーマージョンの最新現バージョンの全てを残して削除する感じ。

増えすぎたgitのtagを削除するスクリプト · GitHub
増えすぎたgitのtagを削除するスクリプト. GitHub Gist: instantly share code, notes, and snippets.
iconhttps://gist.github.com/linyows/2156669
image

Usage

dry-run。削除対象tagを確認することが出来る。

$ ./git_tag test

ローカルリポジトリもリモートも削除…

$ ./git_tag clean

Little Sucker

  • 6.12.7みたいなフォーマットしか対応してない。v2.3.12とかのprefixに対応してない。
  • ローカルもリモートも消してしまう

もっとスマートなやり方があるだろうしshellで書かなくても…って言う気はするけど取り急ぎ書いた。ちゃんと書きたくなったらそのとき考よう。