初心者向け Gitタグの使い方を解説

「ソフトウェアのリリースバージョンをGitで分かりやすく管理したい」「過去のリリース状態に戻ってバグ修正をしたい」こんな時、Gitの「タグ(tag)」機能を使えば、特定のコミットに「v1.0.0」などの分かりやすい名前をつけて、リリース履歴を簡単に管理できるようになります。
この記事では、Gitのタグに関する基礎知識から、作成・共有・削除・過去の状態への戻り方まで、目的(課題)別に具体的なコマンドを解説します。
チームでの開発でも個人での開発でも、「あのバージョンはどんな状態だったか」をすぐに特定できるかどうかは、トラブル対応の速さに直結します。以下では、現場でよくあるお悩みを解消できるよう、目的別に手順を整理しました。

Gitのタグとは?(ブランチとの違い)

Gitのタグとは、特定のコミットに対して、固定の分かりやすい名前(ラベル)をつける機能です。主にソフトウェアのリリースバージョン(例:v1.0.0Release-202310など)を記録する目的で使用されます。

ブランチとの違い:

  • ブランチ:コミットのたびに先端が移動し、常に最新の作業状態を指すポインタ
  • タグ:一度付けると位置が固定され、過去の特定時点を指し続けるポインタ

タグの2つの種類

Gitのタグには以下の2種類があります。正式なリリース用には必ず「注釈付きタグ」を使用します。

種類 特徴 用途 コマンドオプション
注釈付きタグ 作成者、日時、メッセージなどの詳細情報を保持する 正式なリリースバージョンの記録(推奨) -a
軽量タグ コミットに対する単なる名前だけのラベル 個人用の一時的なブックマーク なし

Gitタグの具体的な使い方

ここからは「やりたいこと」に合わせて、具体的なGitコマンドを解説します。

新しいバージョンを記録したい(タグの作成)

現在のコードの状態を「バージョン1.0.0」として記録したい場合は、注釈付きタグを作成します。-mでメッセージを残すのが一般的です。

# 注釈付きタグを作成する(推奨)
git tag -a v1.0.0 -m "バージョン1.0.0のリリース"

# (参考)過去の特定のコミットにタグを付ける場合
git tag -a v1.0.0 [コミットのハッシュ値] -m "過去のコミットにタグ付け"

作成したタグをチームに共有したい(リモートへPush)

通常の git push では、タグの情報はGitHubやGitLabなどのリモートリポジトリに送信されません。タグを明示的にプッシュする必要があります。

# 特定のタグだけをリモートに送信する
git push origin v1.0.0

# ローカルにある未送信のタグをすべてまとめて送信する
git push origin --tags

過去のリリース状態からバグを修正したい(チェックアウト)

「v1.0.0で発生したバグを直したい」という場合、タグをつけた時点の状態に戻って作業を開始します。
この際、直接タグをチェックアウトすると「Detached HEAD(切り離されたHEAD)」という不安定な状態になるため、タグを起点にして新しいブランチを作成するのがベストプラクティスです。

# v1.0.0 の状態から「hotfix-1.0.1」という新しいブランチを作って移動する
git checkout -b hotfix-1.0.1 v1.0.0

間違えてつけたタグを消したい(タグの削除)

タグ名やつける場所を間違えた場合は、削除してやり直すことができます。リモートに送信済みかどうかで手順が変わります。

# 1. ローカルのタグを削除する
git tag -d v1.0.0

# 2. リモート(GitHubなど)のタグも削除する(Push済みの場合のみ)
git push origin --delete v1.0.0

過去のコミットにタグを付けたい

git tag -a タグ名 -m "メッセージ" コミットハッシュ

タグから任意のファイルを取得する

指定したタグからファイル単位で取得したい場合、以下のコマンドで取得できます。

ファイルを表示

git show v1.1.0:templates/index.html

ファイルとして保存したい場合

git show v1.1.0:templates/index.html > templates/index_v1.1.0.html

そのタグ時点のファイルで現在のファイルを上書きしたい場合

現在の変更は失われ、ファイルを上書きしてステージング状態になります。

git checkout v1.1.0 -- templates/index.html

よくある質問(FAQ)

Q. 現在存在するタグの一覧や詳細を見るには?

タグの一覧を表示するには git tag を実行します。特定のタグの詳細(誰がいつ作成したか、メッセージ内容)を見たい場合は git show を使用します。

# タグの一覧を表示
git tag

# 「v1.」から始まるタグだけを検索して表示
git tag -l "v1.*"

# 特定のタグの詳細情報を表示
git show v1.0.0

Q. タグの名前の付け方にルールはあるのか?

厳密なルールはありませんが、業界標準としてセマンティックバージョニング(Semantic Versioning)がよく使われます。 「メジャー.マイナー.パッチ」の3つの数字で表現し、先頭に v をつけるのが一般的です(例:v1.2.3)。

  • メジャー (1):互換性のない大きな変更
  • マイナー (2):後方互換性のある機能追加
  • パッチ (3):後方互換性のあるバグ修正

まとめ:タグを使ったリリース管理の基本フロー

実際の開発現場における、タグを使ったリリース管理の基本フローは以下の通りです。

  1. 機能開発とテストの完了、リリース準備の完了
  2. git tag -a v1.0.0 -m "Release v1.0.0" による注釈付きタグの作成
  3. git push origin v1.0.0 によるリモートリポジトリへのタグ反映
  4. (必要に応じて)過去バージョン修正時は git checkout -b によるタグからのブランチ作成と作業

Gitのタグ機能を正しく活用して、安全で分かりやすいバージョン管理を実現しましょう!

このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です