【Git】タグ(tag)の使い方|バージョン管理とリリース管理に活用する方法

Git

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のタグはシンプルながら強力な機能で、リリース管理やバージョン管理に欠かせません。基本的には注釈付きタグを使い、リリースごとに明示的に付与するのがベストプラクティスです。タグを正しく運用すれば、開発チーム全体での認識が揃い、リリース作業やトラブルシューティングがスムーズになります。