【问题标题】:GitHub API: Tag a commit belongs to ( parallel for git describe --tag <sha> )GitHub API:提交所属的标记( git describe --tag <sha> 的并行)
【发布时间】:2015-10-18 11:49:44
【问题描述】:

我正在使用octokit ruby​​ gem 试验 GitHub API。我的目标是能够提取提交 SHA 所属的“标签”。

现在我可以使用

在命令行上轻松完成此操作

&gt; git describe 688ae0b --tags

得到输出

&gt; 3.0.1-122-g688ae0b

它告诉我标签、自标签以来的提交和上次提交哈希。

如何从 GitHub API 获取相同的信息?

使用 GitHub API 或 Octokit 客户端的答案都可以,因为我可以互相翻译。

我查看了很多东西,比如发布、标签、提交等。但没有一个能提供我可以从命令行获得的信息。

我不是在寻找“如何使用 github api”。我正在寻找可以让我获得此信息的特定请求或一组请求。

【问题讨论】:

    标签: ruby git github github-api octokit


    【解决方案1】:

    由于没有简单的方法来使用 GitHub API 运行 git describe 之类的查询,因此您需要一个迭代过程,涉及:

    (base 是提交,head 是标签)

    如果有任何结果,则可以从标记访问提交。

    (我在“Github API: Finding untagged commits”中使用了类似的方法)

    【讨论】:

    • 感谢@VonC。这似乎是一个很好的方法。我会尝试一下,看看效果如何..
    • 你能想出其他不使用 GitHub API,但又不必本地克隆的方法吗?可能与 ls-remote 有关吗?我希望编写一个 Web 服务,它可以通知项目本身的版本并将其显示在页脚中。我可以使用 capistrano 轻松地做到这一点,但是只有在部署项目时版本才会受到影响..
    • @Shaunak 不是真的。拥有更新的本地仓库副本仍然是获取此类信息的最可靠方法。
    • @VonC,这个答案现在还现实吗?
    • @elect 你的意思是仍然是最新的吗?显然是这样。也许使用 graphql V4 你可能会得到更好的结果。
    猜你喜欢
    • 2018-11-05
    • 1970-01-01
    • 2020-08-05
    • 1970-01-01
    • 2017-03-10
    • 2023-02-03
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    相关资源
    最近更新 更多