git tagで設定したタグの一覧を表示する方法|パターンで抽出する方法(-n, -l, –columnオプションとは何か?)

git-prograshi(プロぐらし)-kv git/github
記事内に広告が含まれていることがあります。
[PR]

git tagを使うと各コミットに目印となるタグを設定することができます。

あまりにタグの多いプロジェクトなど、git log –onelineなどでコミット履歴を追うのではどこに何のタグがあるのかがわかりにくいことがあります。

そうした場合に、git tagにはタグの一覧を表示する便利なオプションが用意されています。

「vから始まる」「.0を含む」といったようにタグ名をパターンで指定して、該当するタグを一覧で表示することも可能です。

ここでは、git tagを使ってタグを参照する様々な方法を実例でまとめています。


設定したタグの一覧を参照する方法まとめ

現在のレポジトリにどんなタグが設定されているかを一覧で表示する方法はいくつかあります。まとめると以下のようになります。

オプションコマンド例内容
なしgit tagタグ名の一覧を表示する
–columngit tag –column設定してあるタグ一覧を1行で表示する
-ngit tag -n注釈(注釈がない場合はコミットメッセージ)も合わせて表示する
-l “パターン”git tag -l “v*”パターンマッチングで該当するタグの一覧のみを表示する(*と?)
-n “パターン”git tag -n “v*”パターンマッチングで該当するタグ名とその注釈(注釈がない場合はコミットメッセージ)も合わせて表示する

以下でそれぞれについて実例を交えて解説しています。


合わせて読みたい

注釈はコミットメッセージとは別にタグに設定できる専用のメッセージです。注釈の設定方法については下記をご参考ください。

【Git】git tagの注釈とは何か?メッセージとの違いや注釈をつける方法、変更・上書き方法を実例でわかりやすく解説


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 "パターン"
point

パターンマッチングは、任意の文字の繰り返しを指定する場合は「*(アスタリスク)」、任意の位置文字を指定する場合は「?」を使います。

実例

冒頭が「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オプションの後ろで、パターンを指定すると、合致するタグ名と注釈を(注釈が無い場合はコミットメッセージ)表示します。

実例

point

パターンマッチングは、任意の文字の繰り返しを指定する場合は「*(アスタリスク)」、任意の位置文字を指定する場合は「?」を使います。

冒頭が「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」をクリックすると、その時点でのファイルをまとめてダウンロードすることができます。

Githubでタグを使う場合の注意点

リモートレポジトリ(Github)でタグを使う場合は注意が必要です。通常の git pushコマンドでは、タグは送信されません。(個人用の目印の全体共有を防ぐため)

リモートレポジトリにタグを送る場合はgit pushコマンドのオプションで --tag をつける必要があります。

git push <リモートレポジトリ名> --tag
git push <リモートレポジトリ名> <タグ名>


タイトルとURLをコピーしました