Gitでソフトウェアのバージョンを明確に管理するために便利なのが「タグ(tag)」です。特定のコミットにラベルを付けることで、リリースや重要なポイントを簡単に参照できるようになります。ここではタグの基本から作成方法、リモートへの共有、実運用での活用例までを解説します。
タグ(tag)とは
タグは特定のコミットに名前を付ける仕組みで、主にリリース管理に使われます。ブランチが可変で先に進むのに対して、タグは固定されて動かないのが特徴です。例えば「v1.0.0」というタグを作れば、その時点のコードを将来にわたって簡単に参照できます。
タグの種類
Gitのタグには大きく分けて2種類があります。
- 軽量タグ(lightweight tag):単なるラベルで、コミットIDに名前を付けるだけ
- 注釈付きタグ(annotated tag):作者や日付、メッセージを含み、リリース情報に向いている
タグの作成方法
# 軽量タグ
git tag v1.0.0
# 注釈付きタグ(推奨)
git tag -a v1.0.0 -m "First release"
既存コミットにタグを付ける
最新コミットだけでなく、過去のコミットにもタグを付与できます。
# コミットハッシュを指定
git tag -a v0.9.0 1a2b3c4d -m "Beta release"
タグの確認と詳細表示
# タグ一覧を表示
git tag
# パターンで検索
git tag -l "v1.*"
# タグの詳細を確認
git show v1.0.0
タグをリモートに送信する
作成したタグはデフォルトではリモートに送信されません。リリース時にはリモートにプッシュしてチームと共有します。
# 特定のタグをプッシュ
git push origin v1.0.0
# 全てのタグをプッシュ
git push origin --tags
タグを使ったチェックアウト
特定のバージョンの状態に切り替えたいときは、タグを指定してチェックアウトできます。
git checkout v1.0.0
この状態は「detached HEAD」となり、新しいコミットはタグに紐づかない点に注意してください。
タグの削除
不要になったタグはローカルとリモートの両方で削除可能です。
# ローカルで削除
git tag -d v1.0.0
# リモートで削除
git push origin :refs/tags/v1.0.0
実運用での活用例
– リリースごとにタグを付けて、どのコミットがどのバージョンか明確にする
– デプロイ時にCI/CDで「最新のタグ」を自動的に取得する
– バグ報告や検証時に「v1.2.3で発生」と具体的に指摘できるようにする
まとめ
Gitのタグはシンプルながら強力な機能で、リリース管理やバージョン管理に欠かせません。基本的には注釈付きタグを使い、リリースごとに明示的に付与するのがベストプラクティスです。タグを正しく運用すれば、開発チーム全体での認識が揃い、リリース作業やトラブルシューティングがスムーズになります。