私のリポジトリでは、次のコマンドを使用してタグを作成しました。
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
リポジトリ内のすべてのタグをどのようにリストしますか?
私のリポジトリでは、次のコマンドを使用してタグを作成しました。
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
リポジトリ内のすべてのタグをどのようにリストしますか?
回答:
git tag
十分なはずです。参照してくださいgit tag
manページを
あなたも持っています:
git tag -l <pattern>
指定されたパターン(パターンが指定されていない場合はすべて)に一致する名前のタグをリストします。
引数なしで「git tag」と入力すると、すべてのタグが一覧表示されます。
最近(「gitタグを並べ替える方法は?」、Git 2.0以降の場合)
git tag --sort=<type>
特定の順序で並べ替えます。
サポートされているタイプは次のとおりです。
- "
refname
"(辞書式順序)、- "
version:refname
"または "v:refname
"(タグ名はバージョンとして扱われます)。並べ替え順序を逆にするには、「-」を前に付けます。
それは両方をリストします:
注:タグ付けに関するgit readyの記事では、軽量のタグは承認されていません。
引数がない場合、gitタグは基本的に移動しないブランチである「軽量」タグを作成します。
ただし、軽量タグは、おそらく、既知の適切な(または悪い)バージョンをマークしたり、将来使用する必要があるコミットの束をマークしたりするのに役立ちます。
それでも、おそらくこの種のタグをプッシュしたくないでしょう。通常、少なくとも-aオプションを渡して未署名のタグを作成するか、-sまたは-uオプションを介してGPGキーでタグに署名します。
そうは言っても、Charles Baileyは、 ' git tag -m "..."
'は実際には適切な(署名されていない注釈付きの)タグ(オプション ' -a
')を意味し、軽量のタグではないことを指摘しています。したがって、最初のコマンドで問題ありません。
これは以下とは異なります。
git show-ref --tags -d
タグとそのコミットを一覧表示するもの(「Gitタグリスト、コミットsha1ハッシュの表示」を参照)。注釈付きのタグオブジェクト(独自のコミットSHA1を持つ)を逆参照し、実際のタグ付きコミットを表示するために
、-d
に注意してください。
同様に、git show --name-only <aTag>
タグと関連するコミットをリストします。
またgit show-ref
、タグを対応するコミットに直接関連付けることができるようにかなり便利です:
$ git tag
osgeolive-6.5
v8.0
...
$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
hg tags
いるように私git show-ref
私のタグとリビジョンを示します。
作ってみるgit tag
ようにしようではない場合、それは十分なはずgit fetch
、その後git tag
。
git tag
利用可能なタグのリストを見たいだけなら、コマンドを実行するだけで十分でしょう。リモートに存在すると思われるタグが表示されない場合は、ローカルタグがリモートと同期していない可能性があります。この場合、最初git fetch
にリモートから最新の参照/ヘッドをフェッチし、次に実際のをフェッチしgit tag
ます。私は通常、次のようなワンライナーを実行$ git fetch -p && git tag
します。最新で最高のものを見ていることを確認するためです。
利用可能なタグをGitにリストするのは簡単です。入力するだけですgit tag
(オプション-l
またはを使用--list
)。
$ git tag
v5.5
v6.5
特定のパターンに一致するタグを検索することもできます。
$ git tag -l "v1.8.5*"
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
v1.8.5-rc2
gitリポジトリで最新のタグを取得する
このコマンドは、コミットから到達可能な最新のタグを見つけます。タグがコミットを指す場合、タグのみが表示されます。それ以外の場合は、タグ付けされたオブジェクトの上に追加のコミットの数を付けたタグ名と、最新のコミットの省略されたオブジェクト名の接尾辞を付けます。
git describe
に--abbrev
設定する0
と、コマンドを使用して、tagname
接尾辞なしで最も近いものを見つけることができます。
git describe --abbrev=0
その他の例:
git describe --abbrev=0 --tags # gets tag from current branch
git describe --tags `git rev-list --tags --max-count=1` // gets tags across all branches, not just the current branch
リモートに存在しないローカルgitタグを整理する方法
簡単に言えば、のようなことを行おうとするgit fetch -p -t
と、gitバージョン以降では機能しません1.9.4
。
ただし、最新バージョンでも機能する簡単な回避策があります。
git tag -l | xargs git tag -d // remove all local tags
git fetch -t // fetch remote tags
v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.
あなたは、すべての既存のタグを一覧表示することができますgit tag
か、とリストフィルタリングができgit tag -l 'v1.1.*'
、*
ワイルドカードとして機能します。でマークされv1.1
たタグのリストを返します。
呼び出すgit tag
と、注釈の内容が表示されないことに気づくでしょう。それらをプレビューする-n
には、コマンドに追加する必要がありますgit tag -n2
。
$ git tag -l -n2
v1.0リリースバージョン1.0
v1.1リリースバージョン1.1
このコマンドは、タグメッセージの最大3行で既存のすべてのタグを一覧表示します。デフォルト-n
では、最初の行のみが表示されます。詳細については、このタグ関連の記事も確認してください。