在我的存储库中,我已使用以下命令创建了标签。
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 v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
如何列出存储库中的所有标签?
Answers:
git tag
应该足够了。参见git tag
手册页
您还有:
git tag -l <pattern>
列出名称与给定模式匹配的标签(如果没有给出模式,则列出所有名称)。
键入不带参数的“ git tag”,还会列出所有标签。
最近(对于Git 2.0及更高版本,“ 如何对git标签进行排序? ”)
git tag --sort=<type>
按特定顺序排序。
支持的类型是:
- “
refname
”(字典顺序),- “
version:refname
”或“v:refname
”(标记名称被视为版本)。在“-”前添加反向排序顺序。
列出了两个:
注意:有关标记的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>
将列出标签和关联的提交。
在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
随着--abbrev
设置0
,该命令可以用来找出最接近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 version开始将不起作用1.9.4
。
但是,有一个简单的解决方法仍可以在最新版本中使用:
git tag -l | xargs git tag -d // remove all local tags
git fetch -t // fetch remote tags
v0.1.0-rc1 fatal: No tags can describe '5db7534...4a94'. Try --always, or create some tags.
要查看有关我有时使用的最新可用标签的详细信息,请执行以下操作:
git show `git describe` --pretty=fuller
您可以列出所有现有标签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
仅显示第一行。有关更多信息,请确保也查看与该标签相关的文章。