我有一大堆在repo中创建的轻量级标签,我需要对它进行排序并返回前5个标签。我的理解是,轻量级标签不能按创建日期排序,因为它们只是提交的指针。
我希望能够(用于bash脚本)获取最后5个(这将是字母数字顺序)
因此,例如,如果我运行这些命令(不是我会添加这样的标签,只是为了突出我想要的):
git tag 1.0.0
git tag 1.4.0
git tag 1.2.0
git tag 1.6.0
git tag 1.7.0
git tag 1.8.0
我想要一个如下列表:
我知道我能做到
git tag | head -n5
但这些没有正确排序,这是前5个标签。
我知道如果这些是注释标签我可以使用git describe或做类似
的事情git for-each-ref --sort=-taggerdate \
--format '%(refname:short) %(taggerdate:raw)' refs/tags
但由于上述原因,这对轻量级标签不起作用。
那么有没有办法列出最后的5个(无论是按数字排序还是按日期排序,因为它总是相同的)轻量级标签?
我知道我可能会这样做https://stackoverflow.com/a/21032471/1185180来转换它们,但我宁愿不要......
答案 0 :(得分:1)
> git tag
1.0.0
1.2.0
1.4.0
1.6.0
1.7.0
1.8.0
> git tag | sort -r | head -5
1.8.0
1.7.0
1.6.0
1.4.0
1.2.0