web-dev-qa-db-ja.com

すべてのGitタグを一覧表示する方法

私のリポジトリでは、以下のコマンドを使ってタグを作成しました。

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>

指定されたパターン(またはパターンが指定されていない場合はall)に一致する名前のタグをリストします。
引数なしで "git tag"とタイプすると、すべてのタグもリストされます。


もっと最近( " Gitタグをソートするには "、Git 2.0以降の場合)

git tag --sort=<type>

特定の順序で並べ替えます。

サポートされているタイプは次のとおりです。

  • "refname"(辞書順)、
  • "version:refname"または "v:refname"(タグ名はバージョンとして扱われます)。

ソート順を逆にするには、 " - "を頭に付けます。


それは両方をリストします:

  • 注釈付きタグ:Gitデータベースに格納されている完全なオブジェクト。それらはチェックサムされています。タガー名、電子メール、および日付を含みます。タグ付けメッセージがあります。また、GNUプライバシーガード(GPG)を使用して署名および確認できます。
  • 軽量のタグ:既存のコミットへの単純なポインタ

注: gitのタグ付けに関する記事 /軽量タグは不承認です。

引数がなければ、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>はタグと関連するコミットをリストします。

740
VonC

私が好むタグをリストするには:

git tag -n

-nフラグは、注釈メッセージの最初の行をタグと一緒に表示するか、またはタグに注釈が付いていない場合は最初のコミットメッセージ行を表示します。

注釈の最初の5行を表示するためにgit tag -n5を実行することもできます。

162
finn

git show-refもかなり便利なので、 tags を対応する commit に直接関連付けることができます。

$ git tag
osgeolive-6.5
v8.0
...

$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...
39
Campa

そして、これがリモートタグの見つけ方です。

git ls-remote --tags Origin

19
Dimitri Dewaele

git tagを作成して、git fetchを作成してからgit tagを作成しない場合は、それで十分なはずです。

10
toto

私が時々使用する最新の利用可能なタグに関する詳細を見るために:

git show `git describe` --pretty=fuller
8
Andrei Sura

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

--abbrev0に設定すると、このコマンドを使用して接尾辞なしで最も近い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
3
Lyes CHIOUKH

タグ名をローカルで確認したい場合は、タグを作成したパス(ローカルパス)に移動する必要があります。あなたが物を置いた場所を意味します。次にcommandと入力します。

git show --name-only <tagname>

そのタグ名の下にあるすべてのオブジェクトが表示されます。私はTeradataで働いていて、オブジェクトはビュー、テーブルなどを意味します

3
Tanaya

既存のタグをすべて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は最初の行だけを表示します。詳細については、 このタグ関連の記事 を必ず確認してください。

1
Nesha Zoric