我能够使用github3
使用:
repo.iter_refs(subspace='tags')
这会产生github3.git.Reference个对象的生成器。有没有办法让我使用类似的机制来获取github3.git.Tag个对象呢?现在我被迫将每个Reference
对象转换为我自己的Tag
版本。
答案 0 :(得分:1)
因此,获取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会为每个返回不同的信息。