Edited at

【Git】tag関連コマンド

20190503追記


  • わかりにくい表現を修正しました

  • tag作成コマンドのバリエーションを一つ増やしました

追記ここまで

gitのtag関連のコマンドです。


tagとは

リポジトリのある時点(コミット)に印(わかりやすい名前)をつけることができます。

リリース毎にtagをきる、といった形で使われます。


tag関連コマンド


tagを作成する(軽量版のタグ)

軽量版のタグは、単にコミットに別名をつけるようなものです。

別名以外の情報を持ちません。

$ git tag <タグ名>              # 現在のブランチの最新のコミットに対してtagを作成

$ git tag <タグ名> <ブランチ名> # 指定したブランチの最後のコミットに対してtagを作成
$ git tag <タグ名> <コミット> # 指定したコミットに対してtagを作成


tagを作成する(注釈付きのタグ)

注釈付きのタグは、タグを付けた人の名前や、メールアドレス、作成日時、メッセージなどを情報として持つことができます。

$ git tag -a <タグ名>                 # エディタが表示されメッセージを編集することができる

$ git tag -a <タグ名> -m <メッセージ> # メッセージもコマンド内で付けられる


tagの情報を表示

tagの情報は以下のコマンドで表示することができます。

$ git show <タグ名>


tagを削除する

$ git tag -d <タグ名>


tagの一覧を表示する

アルファベット順に表示されます。

$ git tag


tagをリネームする

編集したいタグと同じ時点に別なタグを作成する⇒もとのタグを削除する、という流れで作成します。

$ git tag <新しくつけたいタグ名> <編集したいタグ名>

#EX)
$ git tag newTag oldTag # oldTagと同じコミットにnewTagというタグが新しくできる
$ git tag -d oldTag # もともと存在したタグを削除する


tagの作成をリモートに反映

$ git push <リモートリポジトリ> <タグ名>  # 指定したタグを指定したリモートリポジトリに反映

$ git push <リモートリポジトリ> --tags  # ローカルのすべてのタグを反映


tagの削除をリモートに反映

$ git push <リモートリポジトリ> :<タグ名>

gitのpushは以下のような構文です。

$ git push <リモートリポジトリ> <(ローカルの)ブランチ名など>:<(リモートの)ブランチ名など>

「:」の前に何も書かないことによって、(ブランチの場合)リモートのブランチを空のブランチで上書きする形になり、削除できます。


その他

ほかにもgitコマンド関連記事書いています。

Git初心者に役立つ「よく使うコマンド集」

Git初心者に役立つ「よく使うコマンド集」②

Git初心者に役立つ「よく使うコマンド集」③