2013-05-28 29 views
1

我有一個GitHub repoa commit with an annotated tag。我可以在網絡用戶界面中看到the tag,但它似乎並未通過API公開,也沒有通過commits APItags API(我從中可以看出,似乎只能處理其他方式:提供帶註釋的標記以提交)。刮refs API似乎是一個幾乎可行的解決方法,除了它導致越來越多的流量在存儲庫中有更多的標籤。有沒有其他方法?如何獲取提交所屬的標籤?

+0

你想解決什麼問題? – michas

+0

@michas獲取指向特定提交(我已經知道哈希值)的標籤列表,而不會在報表中標記所有標籤,如標題所示 –

回答

0

的問題是,只有tag知道它的承諾,並提交自己不知道哪些標籤所指向的提交。因此,唯一的機會是迭代所有標籤並檢查它們是否指向提交的問題。

在本地存儲庫,你可以使用之類的東西:

git log -1 --decorate $SHA1 

對於你可能使用git ls-remote得到所有裁判遠程倉庫。

如果你想使用API​​,大概get-all-references是相應的等價物。
特別是GET /repos/:owner/:repo/git/refs/tags會列出你所有的標籤。

相關問題