在从存储库中列出标记时,有没有一种方法可以获取标记对象而不是引用对象?

2024-06-15 02:01:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我能够使用github3成功地从存储库中列出标记:

repo.iter_refs(subspace='tags')

这将产生github3.git.Reference对象的生成器。有没有办法让我使用类似的机制来获得github3.git.Tag对象呢?现在我被迫将每个Reference对象转换成我自己的Tag版本。在


Tags: 对象标记git版本tagtagsrepo机制
1条回答
网友
1楼 · 发布于 2024-06-15 02:01:22

因此,获得github3.git.Tag对象的唯一方法是尝试retrieve a specific annotated tag(这是一个以非常特定的方式创建的标记)。在

如果这就是你要做的,那么你的代码看起来像

tags = [repo.tag(r.object.sha) for r in repo.iter_refs(subspace='refs')]

您可以通过当前方法或执行repo.iter_tags()来获得一个轻量级标记(这是GitHub上大多数标记的实际值)。两种都可以。后者将返回github3.repos.RepoTag,而不是github3.git.Tag,因为API为每一个返回的信息大不相同。在

相关问题 更多 >