我有GitHub repo和a commit with an annotated tag。我可以从网络用户界面看到the tag很好,但它似乎没有通过API公开,无论是通过commits API还是tags API(我只能说出来)似乎处理另一种方式:提交注释标记)。刮除refs API似乎是一种几乎可行的解决方法,除了它导致越来越多的流量,存储库中的标签越多。还有其他办法吗?
答案 0 :(得分:1)
git ls-remote git://github.com/antirez/redis.git | grep <SHA>
答案 1 :(得分:0)
问题是,只有已知其提交的标记和提交本身不知道哪些标记指向该提交。因此,唯一的机会是迭代所有标记并检查它们是否指向有问题的提交。
在本地存储库中,您可以使用以下内容:
git log -1 --decorate $SHA1
对于远程存储库,您可能必须使用git ls-remote
获取所有引用。
如果您想使用API,可能get-all-references是相应的等效词
特别是GET /repos/:owner/:repo/git/refs/tags
会列出所有标签。