如何解决/refs 下列出的 Gitlab 参考是什么?
我正在编写一个脚本,该脚本通过 Gitlab API 收集有关提交的信息。其中,我需要知道哪些标签指向某个提交。我正在使用
GET /repository/commits/<sha>/refs
直到我注意到响应中列出了多个标签,并且根据此端点,不同的提交可以具有相同的标签,这是不可能的。所以我的问题是:
- 此端点将哪些信息显示为“分支”和“标签”类型?
- 哪个端点会向我显示给定提交的正确标签?
谢谢!
解决方法
1。来自GitLab Docs,REST API,Commits:
获取提交被推送到的引用
获取提交被推送到的所有引用(来自分支或标签)。 ...
GET /projects/:id/repository/commits/:sha/refs
因此它显示了包含给定提交的所有引用,并且它按照文档完美运行,几个标签可能在其历史树中具有特定的提交。默认情况下,它同时显示分支和标签,但您可以过滤以包含分支或标签。
2。要在特定提交时找到带有提示的标签,您可以先枚举所有标签,如 (reference to tags endpoint doc):
从项目中获取仓库标签列表,按名称按字母倒序排序。
GET /projects/:id/repository/tags
然后通过提交 id (SHA) 手动查找目标提交处的标签。几个标签在它们的提示处可以有相同的提交是完全正确的。 tags
端点默认从最新到最旧枚举它们,因此如果同一提交中有许多标签,您可以选择例如最新。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。