【Git】git checkout tag コマンドでタグを切り替える方法!初心者向けに使い方と注意点を解説
はじめに
Git で開発を進めていると、「あるバージョンを確認したい」という状況が出てくることがあります。
たとえば、以前のリリース時点で動いていた機能をチェックしたい場合や、過去の安定版をベースにちょっとした修正を入れたい場合などです。
そのようなときに便利なのが タグ(tag) の仕組みです。
タグを使うと、特定のコミット(変更履歴)をわかりやすく区切っておくことができます。
そして、git checkout tag を実行すると、そのタグが付いているコミット時点のコードを一時的に参照できるようになります。
この仕組みは一見難しそうに感じますが、実際にはそれほど複雑ではありません。
本記事では、初心者の皆さんが迷うことなく git checkout tag を使えるように、やさしく解説していきます。
この記事を読むとわかること
- Git のタグとは何か、その役割
- git checkout tag の基本的な使い方
- 実務におけるタグ運用の具体的なシーン
- タグを使うときに気をつけたいトラブルの対処法
Gitのタグとは何か?
Git では変更履歴がコミット単位で管理されていますが、コミットは自動生成されるハッシュ値で見分ける仕組みになっています。
ただ、ハッシュ値はアルファベットと数字の組み合わせで非常に長く、人が覚えたりするには向いていません。
そこで活用されるのが タグ(tag) です。
タグを使うと、コミットに対してわかりやすい名前を付けられます。
たとえば “v1.0” “release-2023-01” などのように、リリースタイミングに合わせて名前を付けておくのが一般的でしょう。
もしコミットのハッシュ値だけで管理していると、「あの安定稼働していたコミットはどれだったかな?」と探しにくくなります。
一方、タグを付けておけば、後から確認したいコミットをスムーズに特定することが可能です。
タグとブランチとの違い
ブランチは複数のコミットをまとめて管理するための仕組みで、継続的に更新しながら開発を進めていくものです。
一方で、タグは「このコミットが節目」といった点に名前を付けるものなので、通常はその後の更新を想定していません。
つまり、タグを使うと「ここがリリースした瞬間だ」とか「ここが特定バージョンだ」といった形で時間を切り取るイメージになります。
タグを管理することで、過去のバージョンを簡単にチェックできるため、実務ではリリースのタイミングや重要なマイルストーンに合わせてタグを打つことが多いです。
git checkout tag の基本操作
Git では、ブランチを切り替えるときに git checkout ブランチ名
をよく使います。
同じように、タグに切り替えたい場合は git checkout タグ名
で操作します。
しかし、少し注意が必要なのは、タグにチェックアウトすると ブランチのように更新は進められない という点です。
タグに対して新しいコミットを積み重ねることは通常できないため、あくまで「その時点のコードを確認する」ために使うと理解すると良いでしょう。
具体的なコマンド例
# 1. 過去のコミットに「v1.0」というタグが付いているとする # 2. そのタグに切り替える git checkout v1.0 # 3. コードを確認したり、ビルドして動作をチェックできる
このように、既に存在しているタグ名を使ってチェックアウトできます。
もしタグが存在しない場合はエラーになってしまうので、あらかじめ git tag
コマンドなどで利用可能なタグを確認しておくと安心です。
タグから新しいブランチを作成する
「タグの状態をちょっとだけ修正したい」というシーンもあるかもしれません。
このときは、以下のように タグからブランチを作成 して、そちらにコミットを積む方法を取るのが一般的です。
# 1. まずタグをチェックアウトする git checkout v1.0 # 2. 新しいブランチを作成 git checkout -b fix-from-v1.0
こうすると、タグの時点を基点としたブランチができあがります。
このブランチの中で修正を行い、その修正が終わったらリモートリポジトリへプッシュして、他の人と共有するといった流れです。
実務での活用シーン
実際の現場では、タグはどのように活用されているのでしょうか。ここではいくつかの具体例を挙げます。
リリースバージョン管理
システムやアプリを公開する際に、リポジトリに「v1.0」「v1.1」などのタグを打ちます。
そうすることで、リリースした状態がどのコミットであったかが一目瞭然となり、後から過去のリリースを確認するのも簡単です。
万が一「v1.1」の不具合が発覚した場合にも、すぐに該当箇所をチェックできます。
過去の安定版を参照した改修
運用中のプロジェクトでは、新しい機能を開発している途中に「安定稼働していたバージョンに対して、緊急で修正を入れたい」という場合があります。
そのときに古いタグへ git checkout tag で切り替え、そこでブランチを切って修正を行う方法が便利です。
デモや検証用の切り戻し
クライアント向けにデモをする際、「特定のバージョンを再度見てもらいたい」という場合があるかもしれません。
そのときにタグを使ってスムーズに切り戻すことで、当時の状態を正確に再現できます。
更新の途中で混在が起きにくいというのもタグのメリットのひとつです。
トラブルシューティング
初心者の皆さんが git checkout tag を使っていると、いくつかつまずきやすいポイントがあります。
タグへのチェックアウトで編集してしまった
タグに直接チェックアウトした状態でファイルを編集すると、ブランチではなくいわゆる「デタッチド HEAD」という状態になります。
この状態でコミットはできるものの、タグとは別の部分に履歴が積み上がっていくため、混乱を招くことがあります。
タグに切り替えたら、基本的に編集はせず、もし修正が必要なら新しいブランチを作るのが安全です。
タグ名を間違えてチェックアウト
オプションやタグ名をちょっと間違えて git checkout
すると、「そんなタグはないよ」とエラーが出ることがあります。
単なるタイプミスが原因のことも多いので、チェックアウト前に git tag
や git show-ref --tags
でタグの一覧を確認するとよいでしょう。
タグを更新したい場合
実務でタグを打ち間違えた場合に「修正して再タグ打ちしたい」と考える人もいるかもしれません。
ただし、既にチームが利用しているリポジトリや外部に公開済みのリポジトリに対してタグを修正・強制プッシュするのは、他のメンバーの作業に影響が出ることがあるため注意が必要です。
タグの修正よりも、新しいタグを打ち直すことを選ぶケースが多いでしょう。
どうしてもタグを更新したい場合は、チームと相談し、全員が混乱しない形で行うことが重要です。
まとめ
本記事では、git checkout tag の基本的な使い方と注意点を中心に解説しました。
タグは、過去の特定バージョンをすぐに参照できる便利な仕組みです。
リリースバージョンの管理や、過去の安定版での修正といった実務的な場面でも重宝されます。
ただし、タグをチェックアウトしたまま編集してしまうとブランチではなく「デタッチド HEAD」という状態になるため、新しいブランチを切ってから作業を進めるのがよいでしょう。
また、タグ名の扱いやタグ修正の運用などは、チーム内で方針を定めておくと混乱を防ぎやすくなります。
ぜひこの機会にタグの概念をおさえ、git checkout tag を活用してみてください。
一度覚えてしまえば、過去バージョンの管理や不具合対応がスムーズに進めやすくなるはずです。