如何限制git标签列表返回的标签数量

4
如何限制运行时返回的标签?
git tag

如何将标签限制为特定数量?我有一个非常长的标签列表,我只需要看到最新的十个标签放入我的存储库中。


列出所有的标签,然后选择最新的十个,“最新”的定义需要明确。v2.9.1-rc2 标签是否比 v2.9.1 更晚?v2.8.4 是否比 v2.9.0-rc0 更晚?这取决于标签添加的时间(带注释的标签的内部日期),还是提交者或作者的日期,还是仅取决于标签名称? - torek
2个回答

6
git for-each-ref refs/tags/ --count=10 --sort=-refname --format="%(refname:short)"

6
您可以使用--sort选项对git tag返回的标签列表进行排序。有关详细信息,请参见手册页:git-tag

默认排序是按字典顺序。

前缀 - 以值的降序排序。

然后,您可以使用head命令过滤所需数量。如果需要,在获取最后10个标签之前,可以先使用grep -v NOT_NEED_PATTERN筛选标签。 示例 假设您的标签按版本递增(例如1.01.12.0等),您可以使用以下命令获取最后10个标签。
git tag --sort=-refname |head -n 10

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