如何列出全部Git标签?

在个人存储库中,我使用如下命令建立了标记。 html

git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'

如何列出存储库中的全部标记? git


#1楼

git tag

应该够了。 请参阅git tag手册页 数据库


你还有: oop

git tag -l <pattern>

列出名称与给定模式匹配的标记(若是没有给出模式,则列出全部标记)。
键入不带参数的“git tag”,也列出了全部标签。 fetch


最近(Git 2.0+的“ 如何排序git标签? ”) spa

git tag --sort=<type>

按特定顺序排序。 3d

支持的类型是: 指针

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

前缀“ - ”以反转排序顺序。 code


这列出了: htm

  • 带注释的标签 :存储在Git数据库中的完整对象。 他们是校验和的; 包含标记器名称,电子邮件和日期; 有标记消息; 而且可使用GNU Privacy Guard(GPG)进行签名和验证。
  • 轻量级标签 :指向现有提交的简单指针

注意: 关于标记git ready文章不同意轻量级标记。

没有参数,git标签会建立一个“轻量级”标签,它基本上是一个永不移动的分支。
轻量级标签仍然有用,可能用于标记已知的好(或坏)版本,或者您可能须要在未来使用的一堆提交。
不过, 您可能不想推送这些类型的标签

一般,您但愿至少传递-a选项以建立无符号标记,或者经过-s或-u选项使用GPG密钥对标记进行签名。


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


这不一样于:

git show-ref --tags -d

其中列出了包含其提交的标记(请参阅“ Git标记列表,显示提交sha1哈希 ”)。
注意-d是为了取消引用带注释的标记对象(它们有本身的提交SHA1)并显示实际的标记提交。

相似地, git show --name-only <aTag>将列出标记和关联的提交。


#2楼

尝试制做git tag它应该足够,若是不尝试制做git fetch而后git tag


#3楼

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

#4楼

要列出我更喜欢的标签:

git tag -n

-n标志显示注释消息的第一行以及标记,若是标记未注释,则显示第一个提交消息行。

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


#5楼

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

git show `git describe` --pretty=fuller
相关文章
相关标签/搜索