Stage 3・上級編 ー Lesson 3-2
git tag とは? バージョンに目印をつけよう
git tag で特定のコミットに名前を付け、リリースのチェックポイントにする
💡 たとえるなら
本に栞(しおり)を挟んで「このページが第一版の完成」と目印を残す感覚
リリース版の v1.0.0、v1.1.0、v2.0.0 …。プロジェクトを公開していると「このコミットが正式リリース」という 目印 をつけたくなります。それが タグ(tag) です。
ブランチとの違い
ブランチが 「動いていく目印」(コミットが増えるたびに先端が前に進む)なのに対し、タグは 「動かない目印」。一度コミットに付けたら、そのコミットを指し続けます。
タグを付ける:git tag -a
公式に推奨されているのは 注釈付きタグ(annotated tag) で、-a -m "..." を付けます。これでメッセージ・作者・日時が記録されます。
タグの一覧と詳細
タグをリモートに送る
git push は タグを自動では送りません。明示的に送る必要があります。
GitHub などでタグを送ると 「Releases」ページに自動的に出てくる のが定番。リリースノートをそこに書ける機能と連動しています。
タグを削除する
タグからブランチを派生させる
「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 push origin v1.0.0 v1.1.0 か git push origin --tags。
このレッスンのまとめ
git tag -a vX.Y.Z -m "..." でリリースに目印できるgit push origin <tag> / --tags でリモートに送るgit switch -c でホットフィックスブランチを作れる✏️ 理解度チェック
各問題、選んだ瞬間に正解と解説が表示されます。気軽に試してください。
- Q1. git tag を使う典型的な目的は?
- Q2. メッセージや作成者情報を持つ「注釈付きタグ」を作るオプションは?
- Q3. git push しただけではタグはリモートに送られません。タグも一緒に送る方法は?