小编典典

如何列出所有 Git 标签?

all

在我的存储库中,我使用以下命令创建了标签。

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

您如何列出存储库中的所有标签?


阅读 218

收藏
2022-03-02

共1个答案

小编典典

git tag

应该足够了。见git tag手册页


你还有:

git tag -l <pattern>

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


最近(“如何对 git 标签进行排序”,适用于 Git2.0+)

git tag --sort=<type>

按特定顺序排序。

支持的类型是:

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

在前面加上“-”以反转排序顺序。


这列出了两者:

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

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

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

通常,您至少希望通过 -a 选项来创建未签名的标签,或者通过 -s 或 -u 选项使用您的 GPG 密钥对标签进行签名。


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


这不同于:

git show-ref --tags -d

其中列出了带有提交的标签(请参阅“ Git Tag list, display commit sha1
hashes
”)。
请注意-d,为了取消引用带注释的标记对象(它们有自己的提交 SHA1)并显示实际的标记提交。

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

2022-03-02