Gitのタグを削除する方法とは?ローカルとリモートで実践解説
こんにちは、とまだです。
みなさん、Gitでタグを作ったはいいものの、「このタグもう要らないな」と思ったことはありませんか?
特にテスト用に作ったタグや、バージョン番号を間違えたタグ。 そのまま放置すると、どれが正しいタグなのか分からなくなってしまいます。
今回は現役のエンジニア、そして元プログラミングスクール講師としての経験から、タグの削除方法について解説します。
Gitのタグとは?
タグは、本で言えば「付箋紙」のようなものです。
重要なページに付箋を貼っておくと、後で見返しやすいですよね。 Gitでも同じように、重要なコミットにタグという目印を付けられます。
主に以下のような場面で使われます。
リリース時のバージョン管理や、大きな機能追加のタイミング。 そして緊急リリースなどで、特定バージョンを追跡したいときです。
タグには軽量タグと注釈付きタグの2種類があります。 軽量タグは単純な目印、注釈付きタグは詳細情報付きの目印だと思ってください。
なぜタグを削除する必要があるのか
タグは便利な機能ですが、増えすぎると逆に管理が大変になります。
たとえば、本棚に付箋だらけの本があったらどうでしょう? どの付箋が本当に重要なのか、判断しづらくなりますよね。
Gitのタグも同じです。
よくある削除理由を整理すると、以下のようなケースがあります。
間違ったバージョン番号で作成してしまった。 テスト目的で作ったタグがそのまま残っている。 誤ったコミットに基づくタグだったことが後で判明した。
これらのタグを放置すると、チーム全体の作業効率が下がってしまいます。
大切なのは、タグを削除してもコミット自体は消えないということ。 安心して不要なタグは削除しましょう。
ローカル環境でタグを削除する
まずは手元のPC(ローカル環境)での削除方法から見ていきます。
現在のタグを確認する
削除する前に、どんなタグがあるか確認しましょう。
git tag
このコマンドで、ローカルにあるすべてのタグが表示されます。 タグが多い場合は、パターンで絞り込むこともできます。
タグを削除するコマンド
実際にタグを削除するには、以下のコマンドを使います。
git tag -d <tagname>
たとえば v1.0
というタグを削除する場合はこうなります。
git tag -d v1.0
-d
は delete(削除)の頭文字です。
このコマンドを実行すると、ローカルからタグが消えます。
削除できたか確認する
もう一度 git tag
を実行してみましょう。
削除したタグが表示されなければ成功です。 もし残っている場合は、タグ名が間違っていないか確認してください。
リモートリポジトリのタグを削除する
チーム開発では、リモートリポジトリのタグ削除も重要です。
なぜリモートからも削除する必要があるのか
ローカルで削除しても、リモートには残ったままになります。
これは、自分の机の引き出しは片付けたけど、共有の棚はそのままという状態。 チーム全体で統一するには、リモートからも削除が必要です。
リモートタグの削除方法
リモートのタグを削除する方法は2つあります。
まず1つ目の方法です。
git push origin :refs/tags/<tagname>
v1.0
を削除する場合の例です。
git push origin :refs/tags/v1.0
コロン(:)から始まる記法は、「空をプッシュする」という意味。 つまり、タグを消すということです。
2つ目の方法はもっと直感的です。
git push --delete origin <tagname>
こちらの方が分かりやすいかもしれません。
git push --delete origin v1.0
どちらの方法でも結果は同じです。 使いやすい方を選んでください。
リモートのタグ一覧を確認する
リモートにどんなタグがあるか確認したい場合は、以下のコマンドを使います。
git ls-remote --tags origin
削除後にもう一度実行して、タグが消えているか確認しましょう。
よくあるトラブルと対処法
タグ削除時によく遭遇する問題を見ていきます。
権限エラーで削除できない
「permission denied」などのエラーが出ることがあります。
これは、鍵のかかった引き出しを開けようとしているようなもの。 リポジトリの管理者に権限を付与してもらう必要があります。
タグ名の間違い
「そんなタグは存在しません」というエラーが出る場合。
タグ名のスペルミスや大文字小文字の違いが原因かもしれません。 正確なタグ名を確認してから、もう一度試してみてください。
すでに削除されている
リモートで「タグが見つかりません」と言われる場合。
他のメンバーがすでに削除していた可能性があります。 または、最初からプッシュされていなかったかもしれません。
エラーメッセージをよく読んで、状況を把握しましょう。
タグ管理のベストプラクティス
最後に、タグを上手に管理するコツを紹介します。
定期的な整理整頓
本棚と同じで、定期的な整理が大切です。
不要なタグは溜め込まず、早めに削除しましょう。 特にテスト用のタグは、使い終わったらすぐに削除する習慣をつけると良いです。
命名ルールの統一
チーム内でタグの命名ルールを決めておきます。
たとえば、正式リリースは v1.0
、修正版は v1.0.1
など。
ルールがあれば、間違ったタグを作るリスクが減ります。
ローカルとリモートの同期
削除作業をした後は、必ず両方の状態を確認しましょう。
ローカルだけ、リモートだけの削除は混乱の元です。 チーム全体で同じ状態を保つことが重要です。
まとめ
タグの削除は、Gitを使った開発で必要なスキルの一つです。
ローカルでは git tag -d
、リモートでは git push --delete
を使います。
どちらも簡単なコマンドなので、恐れずに実行してみてください。
不要なタグを削除すれば、プロジェクトの見通しが良くなります。 今回紹介した方法を参考に、整理整頓されたリポジトリを維持していきましょう。
著者について

とまだ
フルスタックエンジニア
Learning Next の創設者。Ruby on Rails と React を中心に、プログラミング教育に情熱を注いでいます。初心者が楽しく学べる環境作りを目指しています。
著者の詳細を見る →