以下に、「上級編:Gitの内部と高度な操作」における「タグ付けとバージョン管理」について詳しく説明します。
タグ付けとバージョン管理(Git Tagging and Versioning)
Gitでは、**タグ(tag)**を使って特定のコミットに「名前付きのマイルストーン」を付与できます。これにより、リリース時点のスナップショットを明確に記録・管理でき、ソフトウェアのバージョン管理が体系的になります。
1. タグの種類
Gitのタグには大きく分けて2種類あります。
a. 軽量タグ(lightweight tag)
-
単なるブックマークのような役割で、名前付きのポインタを特定のコミットに付けるだけ。
-
メタ情報(作成者、日付、メッセージなど)は持たない。
-
作成コマンド例:
b. 注釈付きタグ(annotated tag)
-
Gitデータベースに完全なオブジェクトとして記録される。
-
作成者、日時、メッセージ、署名(オプション)などの情報を含む。
-
バージョン管理に適している。
-
作成コマンド例:
2. タグの確認と参照
タグ一覧を表示する
特定のタグの詳細を表示
タグからチェックアウトする(過去のバージョンに切り替える)
※この操作によりdetached HEAD状態になります。必要に応じてブランチを作成してください。
3. リモートへのタグの共有
リモートにタグを送信
すべてのタグを一括で送信
4. タグの削除
ローカルタグの削除
リモートタグの削除
5. バージョン管理への活用
-
タグは**リリースのバージョン番号(v1.0.0, v2.1.3など)**として用いるのが一般的です。
-
CI/CDパイプラインでタグをトリガーにしてデプロイやビルドを開始する構成も可能です。
-
Semantic Versioning(セマンティック バージョニング)と組み合わせて以下のように体系化することが推奨されます:
-
v<MAJOR>.<MINOR>.<PATCH>の形式(例:v2.3.1)
-
6. GPG署名付きタグ(セキュリティ対策)
信頼性を高めるために、GPG署名付きタグを作成することも可能です:
署名が有効かどうかの検証も可能です。
まとめ
| 操作 | コマンド例 |
|---|---|
| 軽量タグ作成 | git tag v1.0 |
| 注釈付きタグ作成 | git tag -a v1.0 -m "message" |
| タグ一覧表示 | git tag |
| タグ詳細表示 | git show v1.0 |
| タグの削除 | git tag -d v1.0 |
| リモート送信 | git push origin v1.0 |
| すべてのタグ送信 | git push origin --tags |
| GPG署名タグ作成 | git tag -s v1.0 -m "Signed release" |
タグはGitのバージョン管理を一段階進化させる強力な機能です。開発の各マイルストーンや安定リリースを正確に記録し、後から再現可能な状態に保つために、積極的な活用が推奨されます。
生成日:2025/06/09