如何列出所有的Git标签?

在我的资源库中,我使用以下命令创build了标签。

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手册页


你也有:

 git tag -l <pattern> 

列出名称与给定模式匹配的标签(或者如果没有给出模式,则全部标签)。
键入不带参数的“git tag”,也会列出所有的标签。


最近(“Git 2.0+ 如何对git标签进行sorting? ”)

 git tag --sort=<type> 

按特定顺序sorting。

支持的types是:

  • refname ”(词典顺序),
  • version:refname ”或“ v:refname ”(标签名称被视为版本)。

用“ – ”来sortingsorting。


列出了两个:

  • 注释标签 :存储在Git数据库中的完整对象。 他们是校验和; 包含标记名称,电子邮件和date; 有一个标记消息; 并可以使用GNU隐私卫士(GPG)进行签名和validation。
  • 轻量级标签 :指向现有提交的简单指针

注意: 关于标签的git ready文章不赞成轻量级标签。

没有参数,git标签创build一个“轻量级”的标签,基本上是一个永远不会移动的分支。
虽然轻量级标签仍然很有用,可能是为了标记一个已知的好(或坏)版本,或者将来可能需要使用一些提交。
不过, 你可能不想推这些标签

通常情况下,您至less需要通过-a选项来创build一个未签名的标签,或者通过-s或-u选项使用您的GPG密钥对标签进行签名。


话虽如此, Charles Bailey指出,' git tag -m "..."实际上意味着一个正确的(无符号注释)标签(选项' -a '),而不是轻量级的标签。 所以你最初的命令很好。


这不同于:

 git show-ref --tags -d 

其中列出标签与他们的提交(请参阅“ Git标签列表,显示提交SHA1哈希 ”)。
注意-d为了解引用注释标记对象(它们有自己的提交SHA1)并显示实际的标记提交。

同样, git show --name-only <aTag>会列出标签和相关的提交。

要列出我喜欢的标签:

 git tag -n 

-n标志显示注释消息的第一行以及标签,或者如果标签没有注释,则显示第一个提交消息行。

你也可以用git tag -n5来显示注释的前5行。

另外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 ... 

尝试使git tag应该是足够的,如果不尝试做git fetch然后git tag

要查看我有时使用的最新可用标签的详细信息:

 git show `git describe` --pretty=fuller 

如果要在本地检查标签名称,则必须转到已创build标签(本地path)的path。 意味着你已经把你的对象。 然后键入命令:

 git show --name-only <tagname> 

它将显示该标签名称下的所有对象。 我在Teradata工作,对象意味着查看,表格等