在我的版本库中,我使用以下命令创建了标签。
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 page
你也有
git tag -l <pattern>
列出名称符合给定模式的标签(如果没有给定模式,则列出所有标签)。
输入"git tag",不带参数,也会列出所有标签。
最近("如何给git标签排序?",适用于Git 2.0+)。
git tag --sort=<type>
按特定顺序排序。
支持的类型是。
- "
refname
"(词法顺序)。- "
version:refname
"或 "v:refname
"(标签名被视为版本)。
预先添加"-"以逆转排序顺序。
这就列出了这两个。
注意:git ready article on tagging 不赞成轻量级标签。
如果没有参数,git tag会创建一个 "轻量级 "标签,基本上就是一个永远不会移动的分支。
不过轻量级标签还是很有用的,也许可以用来标记一个已知的好(或坏)版本,或者标记一堆你将来可能需要用到的提交。
尽管如此,你可能不想推送这些类型的标签。
通常,你希望至少通过-a选项来创建一个无签名的标签,或者通过-s或-u
选项用你的GPG密钥签署标签。
尽管如此,Charles Bailey指出,一个'git tag -m "..."
'实际上意味着一个适当的(无签名注释的)标签(选项'-a
'),而不是一个轻量级的。所以,你的初始命令是好的。
这不同于。
git show-ref --tags -d
它列出了标签和它们的提交(见"Git标签列表,显示提交的sha1哈希值")。
注意-d
是为了解除对标签对象的注释(它们有自己的提交SHA1)并显示实际的标签提交。
同样,git show --name-only <aTag>
会列出标签和相关提交。