Stage 3・上級編 ー Lesson 3-2

git tag とは? バージョンに目印をつけよう

git tag で特定のコミットに名前を付け、リリースのチェックポイントにする

💡 たとえるなら

本に栞(しおり)を挟んで「このページが第一版の完成」と目印を残す感覚

リリース版の v1.0.0、v1.1.0、v2.0.0 …。プロジェクトを公開していると「このコミットが正式リリース」という 目印 をつけたくなります。それが タグ(tag) です。

ブランチとの違い

ブランチが 「動いていく目印」(コミットが増えるたびに先端が前に進む)なのに対し、タグは 「動かない目印」。一度コミットに付けたら、そのコミットを指し続けます。

main A B C D v1.0.0 v1.1.0 緑のタグはコミットに固定。main(線そのもの)は新しいコミットを積めば前に進む

タグを付ける:git tag -a

公式に推奨されているのは 注釈付きタグ(annotated tag) で、-a -m "..." を付けます。これでメッセージ・作者・日時が記録されます。

# 今いるコミット(HEAD)に v1.0.0 タグを付ける
$ git tag -a v1.0.0 -m "最初の正式リリース"
# 過去のコミットID指定でも付けられる
$ git tag -a v0.9.0 a1b2c3d -m "ベータ版"

タグの一覧と詳細

$ git tag
v0.9.0
v1.0.0
# タグの詳細を見る
$ git show v1.0.0
tag v1.0.0
Tagger: Taro Tanaka <taro@example.com>
Date:  Sun Apr 26 09:00:00 2026
 最初の正式リリース
 …(差分が続く)

タグをリモートに送る

git pushタグを自動では送りません。明示的に送る必要があります。

# 1つだけ送る
$ git push origin v1.0.0
# ローカルの全タグを一気に送る
$ git push origin --tags

GitHub などでタグを送ると 「Releases」ページに自動的に出てくる のが定番。リリースノートをそこに書ける機能と連動しています。

タグを削除する

# ローカルから削除
$ git tag -d v0.9.0
# リモートからも削除
$ git push origin --delete v0.9.0

タグからブランチを派生させる

「v1.0.0 でバグが見つかった、そこから緊急修正したい」というとき:

$ git switch -c hotfix-1.0 v1.0.0

タグの位置から 新しいブランチ が生えます。修正してまた v1.0.1 のタグを打てば緊急リリースの完成。

バージョン番号の付け方(参考)

業界の定番が セマンティックバージョニング(SemVer)

部分いつ上げる
メジャー (1.x.x)互換性のない変更
マイナー (x.1.x)後方互換のある機能追加
パッチ (x.x.1)後方互換のあるバグ修正

タグ名は v1.0.0 のように 頭に v を付けるのが慣習です。

やってみよう:v1.0.0 と v1.1.0 をリリースする

my_project で、リリースのライフサイクルを再現してみます。

# いまの最新コミットを v1.0.0 として固定
$ git switch main
$ git tag -a v1.0.0 -m "最初の正式リリース"
$ git tag
v1.0.0
# 機能を追加してコミット
$ echo "新機能:検索" >> memo.txt
$ git commit -am "検索機能を追加"
# ここを v1.1.0 としてリリース
$ git tag -a v1.1.0 -m "検索機能リリース"
# タグ込みで履歴を見る
$ git log --oneline --decorate
a1b2c3d (HEAD -> main, tag: v1.1.0) 検索機能を追加
e4f5g6h (tag: v1.0.0) ……(v1.0.0 のコミット)
# v1.0.0 時点に戻ってみる(ホットフィックス用ブランチを切る)
$ git switch -c hotfix-1.0 v1.0.0
$ cat memo.txt
   ←「検索機能」の行が無い、v1.0.0 時点の中身が再現される
# main に戻る
$ git switch main

タグは 「ここが v1.0.0 です」 という名札なので、後から「あの時のリリース版に戻りたい」が簡単になります。リモートに送るなら git push origin v1.0.0 v1.1.0git push origin --tags

このレッスンのまとめ

できるようになったこと
✅ タグは「動かない目印」、ブランチは「動いていく目印」
git tag -a vX.Y.Z -m "..." でリリースに目印できる
git push origin <tag> / --tags でリモートに送る
✅ タグから git switch -c でホットフィックスブランチを作れる

✏️ 理解度チェック

0 / 3 正解

各問題、選んだ瞬間に正解と解説が表示されます。気軽に試してください。

  1. Q1. git tag を使う典型的な目的は?
  2. Q2. メッセージや作成者情報を持つ「注釈付きタグ」を作るオプションは?
  3. Q3. git push しただけではタグはリモートに送られません。タグも一緒に送る方法は?

© 2026 git-ready-easy — プログラミング未経験でもわかる git 入門