タグ付けとバージョン管理

以下に、「上級編:Gitの内部と高度な操作」における「タグ付けとバージョン管理」について詳しく説明します。


タグ付けとバージョン管理(Git Tagging and Versioning)

Gitでは、**タグ(tag)**を使って特定のコミットに「名前付きのマイルストーン」を付与できます。これにより、リリース時点のスナップショットを明確に記録・管理でき、ソフトウェアのバージョン管理が体系的になります。


1. タグの種類

Gitのタグには大きく分けて2種類あります。

a. 軽量タグ(lightweight tag)

  • 単なるブックマークのような役割で、名前付きのポインタを特定のコミットに付けるだけ。

  • メタ情報(作成者、日付、メッセージなど)は持たない。

  • 作成コマンド例:

    bash
    git tag v1.0

b. 注釈付きタグ(annotated tag)

  • Gitデータベースに完全なオブジェクトとして記録される。

  • 作成者、日時、メッセージ、署名(オプション)などの情報を含む。

  • バージョン管理に適している。

  • 作成コマンド例:

    bash
    git tag -a v1.0 -m "Initial release"

2. タグの確認と参照

タグ一覧を表示する

bash
git tag

特定のタグの詳細を表示

bash
git show v1.0

タグからチェックアウトする(過去のバージョンに切り替える)

bash
git checkout v1.0

※この操作によりdetached HEAD状態になります。必要に応じてブランチを作成してください。


3. リモートへのタグの共有

リモートにタグを送信

bash
git push origin v1.0

すべてのタグを一括で送信

bash
git push origin --tags

4. タグの削除

ローカルタグの削除

bash
git tag -d v1.0

リモートタグの削除

bash
git push origin --delete tag v1.0

5. バージョン管理への活用

  • タグは**リリースのバージョン番号(v1.0.0, v2.1.3など)**として用いるのが一般的です。

  • CI/CDパイプラインでタグをトリガーにしてデプロイやビルドを開始する構成も可能です。

  • Semantic Versioning(セマンティック バージョニング)と組み合わせて以下のように体系化することが推奨されます:

    • v<MAJOR>.<MINOR>.<PATCH> の形式(例:v2.3.1


6. GPG署名付きタグ(セキュリティ対策)

信頼性を高めるために、GPG署名付きタグを作成することも可能です:

bash
git tag -s v1.0 -m "Signed release"

署名が有効かどうかの検証も可能です。


まとめ

操作 コマンド例
軽量タグ作成 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