git tagを使うと各コミットに目印となるタグを設定することができます。
あまりにタグの多いプロジェクトなど、git log –onelineなどでコミット履歴を追うのではどこに何のタグがあるのかがわかりにくいことがあります。
そうした場合に、git tagにはタグの一覧を表示する便利なオプションが用意されています。
「vから始まる」「.0を含む」といったようにタグ名をパターンで指定して、該当するタグを一覧で表示することも可能です。
ここでは、git tagを使ってタグを参照する様々な方法を実例でまとめています。
設定したタグの一覧を参照する方法まとめ
現在のレポジトリにどんなタグが設定されているかを一覧で表示する方法はいくつかあります。まとめると以下のようになります。
オプション | コマンド例 | 内容 |
---|---|---|
なし | git tag | タグ名の一覧を表示する |
–column | git tag –column | 設定してあるタグ一覧を1行で表示する |
-n | git tag -n | 注釈(注釈がない場合はコミットメッセージ)も合わせて表示する |
-l “パターン” | git tag -l “v*” | パターンマッチングで該当するタグの一覧のみを表示する(*と?) |
-n “パターン” | git tag -n “v*” | パターンマッチングで該当するタグ名とその注釈(注釈がない場合はコミットメッセージ)も合わせて表示する |
以下でそれぞれについて実例を交えて解説しています。
git tag(引数なし)
引数なしのgit tag
は現在設定されているタグの一覧を表示するコマンドです。
git tag
実例
$ git tag
v1.0
v1.2
v2.0
v2.1
v3.0
マイtag
マイtag2
git tag –column
git tag --column
はタグを1行で表示するコマンドです。
git tag --column
実例
$ git tag --column
v1.0 v1.2 v2.0 v2.1 v3.0 マイtag マイtag2
git tag -l “パターン”
git tag -l "パターン"
は指定したパターンに合致するタグのみを表示するコマンドです。
git tag -l "パターン"
実例
冒頭が「v」で始まるタグ名を表示する場合は以下のようになります。
$ git tag -l "v*"
v1.0
v1.2
v2.0
v2.1
v3.0
任意の1文字を指定する場合は以下のようになります。
$ git tag -l "v?.0"
v1.0
v2.0
v3.0
~を含むとしたい場合は「*文字列*」とします。
$ git tag -l "*マイ*"
マイtag
マイtag2
なお –columnオプションと組み合わせることもできます。
$ git tag -l "v*" --column
v1.0 v1.2 v2.0 v2.1 v3.0
パターンを指定しない場合(git tag -l)はgit tagと同じになります。
$ git tag -l
v1.0
v1.2
v2.0
v2.1
v3.0
マイtag
マイtag2
git tag -n
git tag -n
はタグ名と合わせて注釈も表示します。注釈が設定されていない場合は、コミットメッセージを表示します。(※注釈の設定方法については後述しています)
git tag -n
実例
$ git tag -n
v1.0 XX注釈XX
v1.2 [A]vue-router
v2.0 [A]destroyメソッド & Modal追加
v2.1 [A]ClientNew.vue
v3.0 [U]content-security-policy(CSP) enable webpack-dev-server
マイtag [A]ClientEdit.vue
マイtag2 [U]content-security-policy(CSP) enable webpack-dev-server
なお–columnオプションとの併用はできません。
$ git tag -n --column
fatal: --column and -n are incompatible
「incompatible」とは互換性がないという意味です。「–column and -n are incompatible」は–columnと-nは同時に使えないよという内容です。
git tag -n "パターン"
git tag -n "パターン"
のように-nオプションの後ろで、パターンを指定すると、合致するタグ名と注釈を(注釈が無い場合はコミットメッセージ)表示します。
実例
冒頭が「v」で始まるタグ名を表示する場合は以下のようになります。
$ git tag -n "v*"
v1.0 XX注釈XX
v1.2 [A]vue-router
v2.0 [A]destroyメソッド & Modal追加
v2.1 [A]ClientNew.vue
v3.0 [U]content-security-policy(CSP) enable webpack-dev-server
任意の1文字を指定する場合は以下のようになります。
$ git tag -n "v?.0"
v1.0 XX注釈XX
v2.0 [A]destroyメソッド & Modal追加
v3.0 [U]content-security-policy(CSP) enable webpack-dev-server
~を含むとしたい場合は「*文字列*」とします。
$ git tag -n "*マイ*"
マイtag [A]ClientEdit.vue
マイtag2 [U]content-security-policy(CSP) enable webpack-dev-server
タグでコミットを参照できる
なお、各タグの詳細を参照したい場合は、git showでタグ名を指定すれば詳細内容を確認することができます。
タグ名はコミットの別名(エイリアス)です。
$ git show v1.2
commit 9861efec5cd2eef323667df0dd9f16d261ff4913 (tag: v1.2)
Author: author <example@test.com>
Date: Sat Aug 7 10:30:18 2021 +0900
[A]vue-router
過去のコミットを参照したい場合、git logでコミット番号(ハッシュ値)を探し出し、それを指定して、、、といっためんどくさい作業をしなくてすむようになります。これは便利です。
リモートレポジトリのタグ一覧を表示する方法
リモートレポジトリにpushされているタグ一覧はGithubのサイトで確認できます。
Githubのレポジトリを開き「Code」タブを選択すると、上部に「〇tags」という表示があります。
これをクリックすると、タグの一覧を表示することができます。
タグの横の「…」をクリックすると、コミットメッセージが表示されます。
さらに、その下のハッシュ値(上記の例だと「0701d9d」)をクリックすると、コードの詳細を確認することができます。
更にその横の「zip」や「tar.gip」をクリックすると、その時点でのファイルをまとめてダウンロードすることができます。