如何获取最新的标签名?

24

如何获取当前分支的最新标签名称(例如版本)?


3
不需要重复。我可能在未来的分支中,但仍想知道这个仓库最新的分支是什么,可能在主分支中。 - Ding-Yi Chen
1个回答

70

git describe命令应该足够了。

该命令找到从提交中可达的最近的标记。
如果标记指向提交,则仅显示标记名称。
否则,它会将标记名称后缀为附加提交数量和最近提交的缩写对象名称。

使用--abbrev设置为0,该命令可用于查找没有任何后缀的最接近的标记名称

[torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2
tags/v1.0.0

针对与特定模式匹配的标签:

git describe --tags --abbrev=0 --match release-*

(Peterino评论)

获取所有分支的最新标签(而不仅仅是最新分支的标签)

git describe --tags $(git rev-list --tags --max-count=1)

(来自kilianc答案)


3
匹配特定模式(例如“release-...”)的最新标签(任何标签,不仅限于已注释的): git describe --tags --abbrev=0 --match release-* - Peterino
能否获取最后一个远程标签? - gayavat
2
@gayavat 不是本地标签,但你只需要获取远程标签,如果其中一个远程标签应用于最近提交的分支部分,则该标签将成为描述输出的一部分。 - VonC
https://dev59.com/wHM_5IYBdhLWcg3wXx_Z#7979255 提供了一个更准确的解决方案。而 git describe --abbrev=0 只会告诉你当前分支。那个答案会告诉你所有分支的最新标签。 - Ding-Yi Chen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接