如何获取提交所属的标记?

时间:2013-05-28 22:03:35

标签: git github-api

我有GitHub repoa commit with an annotated tag。我可以从网络用户界面看到the tag很好,但它似乎没有通过API公开,无论是通过commits API还是tags API(我只能说出来)似乎处理另一种方式:提交注释标记)。刮除refs API似乎是一种几乎可行的解决方法,除了它导致越来越多的流量,存储库中的标签越多。还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

git ls-remote git://github.com/antirez/redis.git | grep <SHA>

git-describe-remote.sh

答案 1 :(得分:0)

问题是,只有已知其提交的标记和提交本身不知道哪些标记指向该提交。因此,唯一的机会是迭代所有标记并检查它们是否指向有问题的提交。

在本地存储库中,您可以使用以下内容:

git log -1 --decorate $SHA1

对于远程存储库,您可能必须使用git ls-remote获取所有引用。

如果您想使用API​​,可能get-all-references是相应的等效词 特别是GET /repos/:owner/:repo/git/refs/tags会列出所有标签。