在Git中获取最新标签的最简单方法是什么?
git tag a HEAD
git tag b HEAD^^
git tag c HEAD^
git tag
输出:
a
b
c
我应该写一个脚本来获得每个标记的日期时间并比较它们吗?
在Git中获取最新标签的最简单方法是什么?
git tag a HEAD
git tag b HEAD^^
git tag c HEAD^
git tag
输出:
a
b
c
我应该写一个脚本来获得每个标记的日期时间并比较它们吗?
当前回答
git tag -l ac* | tail -n1
获取最后一个以“ac”为前缀的标签。例如,命名为ac1.0.0或ac1.0.5的标记。其他名为1.0.0、1.1.0的标记将被忽略。
git tag -l [0-9].* | tail -n1
获取最后一个标记,其第一个字符为0-9。因此,第一个字符为a-z的标签将被忽略。
更多信息
git tag --help # Help for `git tag`
git tag -l <pattern>
列出名称与给定模式匹配的标签(如果不匹配则全部匹配) 给出了模式)。运行不带参数的“git tag”也会列出列表 所有的标记。模式是一个shell通配符(即匹配使用 :(3))。可以给出多个模式;如果有的话 匹配时,显示标记。
tail -n <number> # display the last part of a file
tail -n1 # Display the last item
更新
用git标签,帮助,关于排序参数。默认情况下,它将使用字典顺序,if标记。排序属性不存在。
排序顺序 默认为为标记配置的值。对变量进行排序 存在,否则按字典顺序。看到git-config(1)。
谷歌之后,有人说git 2.8.0支持以下语法。
git tag --sort=committerdate
其他回答
这个怎么样?
git描述$(git rev-list——tags——max-count=1))
从技术上讲,不一定会得到最新的标签,但会得到标记的最新提交,这可能是你要找的东西,也可能不是。
您可以查看一下git describe,它所做的事情与您所要求的类似。
我不知道为什么这个问题没有答案。即所有标签(包括无注释的标签),不带后缀:
git describe --tags --abbrev=0
git tag -l ac* | tail -n1
获取最后一个以“ac”为前缀的标签。例如,命名为ac1.0.0或ac1.0.5的标记。其他名为1.0.0、1.1.0的标记将被忽略。
git tag -l [0-9].* | tail -n1
获取最后一个标记,其第一个字符为0-9。因此,第一个字符为a-z的标签将被忽略。
更多信息
git tag --help # Help for `git tag`
git tag -l <pattern>
列出名称与给定模式匹配的标签(如果不匹配则全部匹配) 给出了模式)。运行不带参数的“git tag”也会列出列表 所有的标记。模式是一个shell通配符(即匹配使用 :(3))。可以给出多个模式;如果有的话 匹配时,显示标记。
tail -n <number> # display the last part of a file
tail -n1 # Display the last item
更新
用git标签,帮助,关于排序参数。默认情况下,它将使用字典顺序,if标记。排序属性不存在。
排序顺序 默认为为标记配置的值。对变量进行排序 存在,否则按字典顺序。看到git-config(1)。
谷歌之后,有人说git 2.8.0支持以下语法。
git tag --sort=committerdate
如果你想找到应用在特定分支上的最后一个标签,你可以尝试以下方法:
git describe --tag $(git rev-parse --verify refs/remotes/origin/"branch_name")