サイトアイコン プログラマー(PG)・システムエンジニア(SE)になるための入門講座

TagとBranchの違いとは?Git初心者向けに役割・使い分け・実際のIT現場での運用を分かりやすく解説

TagとBranchの違いとは?Git初心者向けに役割・使い分け・実際のIT現場での運用を分かりやすく解説

結論として、「Branch(ブランチ)」は開発を進めるための作業場所、「Tag(タグ)」は特定のCommitに名前を付けて目印にする仕組みです。

Git初心者は「TagもBranchも同じように見える」「どちらもVersion管理に使うのでは?」と混乱しがちです。しかし、役割は大きく異なります。IT現場では、ブランチで開発を進め、リリース時にタグを付ける運用が一般的です。

TagとBranchとは?

Branch(ブランチ)とは

Branch(ブランチ)は、現在のソースコードから分岐して、安全に開発を行うための作業場所です。

新機能の追加やバグ修正を本番環境へ影響を与えずに進められます。

作業を続けると、ブランチの先頭は新しいCommitに合わせて移動します。

Tag(タグ)とは

Tag(タグ)は、特定のCommitに名前を付けるための仕組みです。

例えば、「v1.0.0」「v2.1.5」のようなタグを付けることで、「このCommitが正式リリース版」という目印になります。

タグは通常、作成後に移動しません。

TagとBranchの違い

項目 Branch Tag
目的 開発を進める 特定のCommitに目印を付ける
移動するか Commitすると先頭が移動する 通常は移動しない
主な用途 機能追加・バグ修正 リリース管理
削除できるか できる できる
利用場面 開発中 リリース時

どんな場面で使われるのか

Branchを使う場面

Tagを使う場面

初心者向けにイメージすると

用語 イメージ
Branch 作業するための道路
Tag 道路上に立てる「Version 1.0」の看板

ブランチは開発を続けるために先へ進みますが、タグは「この地点がリリース版」という目印として残ります。

実際のIT現場での流れ

新機能を開発してリリースする場合の一般的な流れです。

  1. mainブランチから作業用ブランチを作成する
  2. ソースコードを修正する
  3. Commitを繰り返す
  4. レビューを受ける
  5. mainブランチへMergeする
  6. 動作確認を行う
  7. 正式リリース時に「v1.2.0」などのTagを付ける
  8. Deployする

このように、タグはリリースが完了したタイミングで付けることが多くあります。

なぜTagが重要なのか

タグを付けることで、過去のリリース時点のソースコードを簡単に特定できます。

例えば、本番環境で障害が発生した場合でも、「v2.3.1」のタグから当時のソースコードを確認したり、必要に応じて復旧作業を進めたりできます。

初心者が混乱しやすいポイント

Tagを作ると新しいBranchになると思ってしまう

タグは目印を付けるだけです。

新しいブランチは作成されません。

Tagでも開発を続けられると思ってしまう

タグは開発を進めるためのものではありません。

新しい機能を追加する場合は、ブランチを作成して作業します。

GUIで確認する方法

Visual Studio Codeの場合

  1. ソース管理を開く
  2. Gitの拡張機能や履歴画面を表示する
  3. 現在のブランチを確認する
  4. タグ一覧を表示してリリース版を確認する

GitHubやGitLabでも、ブランチ一覧とタグ一覧は別々の画面で管理されています。

CUI(コマンド)で確認する方法

ブランチ一覧を確認

git branch

現在のブランチや利用可能なブランチを確認できます。

タグ一覧を確認

git tag

登録されているタグを一覧表示できます。

タグの詳細を確認

git show タグ名

タグが付いているCommitやメッセージを確認できます。

確認結果の見方

表示内容 意味
main 本番用ブランチ
feature/login ログイン機能の開発ブランチ
v1.0.0 Version 1.0.0のタグ
v2.5.1 Version 2.5.1のタグ

業務でよくあるトラブル

どのソースコードが本番環境か分からない

原因

確認する順番

  1. タグ一覧を確認する
  2. リリース履歴を確認する
  3. 対象ブランチを確認する
  4. Commit履歴を確認する

影響範囲

タグが適切に管理されていないと、過去バージョンへの切り戻しや障害調査に時間がかかります。

また、誤ったブランチからDeployすると、本番環境へ意図しない変更が反映される可能性があります。

筆者の現場経験

保守案件で「昨年リリースしたVersionを再現したい」という依頼を受けたことがあります。そのプロジェクトではタグが付けられていたため、対象のタグをチェックアウトするだけで当時のソースコードを再現できました。

一方、タグを運用していないプロジェクトでは、Commit履歴を一つひとつ確認する必要があり、目的の状態を探すのに多くの時間を費やした経験があります。

新人がやりがちなミス

現場で評価される確認手順

  1. 対象ブランチで開発する
  2. Commit・レビュー・Mergeを完了する
  3. 動作確認を行う
  4. 正式リリース時にタグを作成する
  5. タグ名が運用ルールに従っていることを確認する
  6. Deploy後にタグとリリース内容を記録する

上司へ報告するポイント

エスカレーションするタイミング

関連するIT用語

よくある質問(FAQ)

TagとBranchは同じものですか?

いいえ。ブランチは開発を進めるための作業場所であり、タグは特定のCommitに付ける目印です。

タグを付けるタイミングはいつですか?

一般的には、リリースや重要なマイルストーンの直前または直後にタグを付けます。

タグを付けると開発を続けられますか?

タグ自体では開発を続けられません。新しい開発を行う場合は、ブランチを作成して作業します。

タグは必ずVersion番号にする必要がありますか?

必須ではありませんが、「v1.0.0」「v2.1.0」のようにバージョン番号を付ける運用が一般的です。プロジェクト内で命名ルールを統一すると管理しやすくなります。

まとめ

TagとBranchはどちらもGitで重要な機能ですが、役割は大きく異なります。

Gitを扱う業務では、「ブランチは作業用」「タグはリリース管理用」という違いを理解しておくことで、開発・保守・障害対応の効率が大きく向上します。

モバイルバージョンを終了