Bash 从git标记中获取最后一个标记--列出“v*”

Bash 从git标记中获取最后一个标记--列出“v*”,bash,git,Bash,Git,我们有一个包含多个项目的回购协议,因此我们有多个不同的标签。例如,移动应用程序标签的格式为v1.1.0、v1.2.0,API标签的格式为API-1.1.0、API-1.1.0 我想设置一个bash脚本,从中获取特定项目最新创建的标记。现在我知道移动项目标签将始终是v.1.1.0 因此,我有一个bash脚本: git标记-列表“v*” 返回:v1.1.0 v1.2.0 但是,我不知道如何选择从该列表创建的最新标记,以便bash命令仅返回:v1.2.0您可以使用-sort=属性确保最新版本排在最后,

我们有一个包含多个项目的回购协议,因此我们有多个不同的标签。例如,移动应用程序标签的格式为v1.1.0、v1.2.0,API标签的格式为API-1.1.0、API-1.1.0

我想设置一个bash脚本,从中获取特定项目最新创建的标记。现在我知道移动项目标签将始终是v.1.1.0

因此,我有一个bash脚本:

git标记-列表“v*”

返回:v1.1.0 v1.2.0

但是,我不知道如何选择从该列表创建的最新标记,以便bash命令仅返回:v1.2.0

您可以使用-sort=属性确保最新版本排在最后,然后使用tail仅提取最后一行:

git tag --list --sort=version:refname 'v*' | tail -1

-sort=version:refname或-sort=v:refname简称将标记名视为版本,同时将其用作git tag-help中记录的排序键,这是避免默认字典排序顺序所必需的。

使用awk:git tag-list'v*'| awk'{print$NF}