銀河鉄道

【Git】検索しやすいようにタグをつける|git tag -a

サムネイル
[Git]annotatedtag

リポジトリのルートで “注釈付きタグ” を切って、リモートにプッシュする

手順(安全・最短)

作業ディレクトリ:プロジェクトのGitルート
前提main もしくはリリース元ブランチをチェックアウト済み

# 0) いまのブランチと差分を確認
git status
git log --oneline -n 3

# 1) “注釈付き” でタグを作成(スナップショットの説明入り)
git tag -a pre-release-2025-10-05 -m "Pre-release safety snapshot (2025-10-05)"

# 2) できたか確認
git tag -l -n1 pre-release-2025-10-05
git show --stat pre-release-2025-10-05

# 3) リモートへ送る(origin想定)
git push origin pre-release-2025-10-05

ワンポイント:

  • 注釈付き(-a)にすると、メッセージ付きで履歴が読みやすくなる(軽量タグは非推奨)。
  • 未コミット変更も含めて退避したいときは、先にコミットを作ってからタグするのが吉。

もし “このコミットじゃなく別の時点” に付けたい場合

# 直近から2つ前のコミットに付ける例(HEAD~2)
git tag -a pre-release-2025-10-05 HEAD~2 -m "Snapshot at HEAD~2"
git push origin pre-release-2025-10-05

復旧(タグから戻す/枝分けする)

事故ったときの戻し方は2通り:

# A) その状態に丸ごと戻す(現在のブランチを過去に戻す:破壊的)
git reset --hard pre-release-2025-10-05

# B) タグ時点から “復旧用ブランチ” を切って検証
git switch -c restore/pre-release-2025-10-05 pre-release-2025-10-05

うっかりミスった・付け直したい

# 付け直し(ローカルのタグを削除→再作成→再プッシュ)
git tag -d pre-release-2025-10-05
git push origin :refs/tags/pre-release-2025-10-05   # リモートも消す
git tag -a pre-release-2025-10-05 -m "Recreate snapshot"
git push origin pre-release-2025-10-05

よくある疑問

  • Q. タグ打つ前にコミット要る?
    A. 必要。 タグは “コミットに印を付ける” もんやから、未コミットは含まれない
  • Q. 軽量タグ(git tag <name>)でもいい?
    A. 非推奨。 注釈(作者・日付・メッセージ)が残る -a を基本にする。
  • Q. タグ名のルールは?
    A. 例:pre-release-YYYY-MM-DD(日付固定で検索しやすい)。RCなら rc-1 みたいに別タグを併用。

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。