在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 for-each-ref refs/tags --sort=-taggerdate --format='%(refname)' --count=1
当然,您可以根据需要更改count参数或排序字段。似乎 你可能想问一个稍微不同的问题,但这确实回答了我理解的问题。
其他回答
git tag --sort=-refname | awk 'match($0, /^[0-9]+\.[0-9]+\.[0-9]+$/)' | head -n 1
它在所有与语义版本匹配的分支中获取最新的标记。
要获得最新的标签,你可以这样做:
$ git for-each-ref refs/tags --sort=-taggerdate --format='%(refname)' --count=1
当然,您可以根据需要更改count参数或排序字段。似乎 你可能想问一个稍微不同的问题,但这确实回答了我理解的问题。
Git描述——标签
返回当前分支能看到的最后一个标记
这个怎么样?
git描述$(git rev-list——tags——max-count=1))
从技术上讲,不一定会得到最新的标签,但会得到标记的最新提交,这可能是你要找的东西,也可能不是。
对于刚才的问题,
如何获得当前分支中最新的标记名称
你想要的
git log --first-parent --pretty=%d | grep -m1 tag:
——first-parent告诉git log不要详述任何合并的历史,——pretty=%d表示只显示装饰,即任何提交的本地名称。Grep -m1表示“只匹配一个”,因此您只获得最近的标记。