【问题标题】:Github API: Check if a branch or repository contains a commitGithub API:检查分支或存储库是否包含提交
【发布时间】:2015-08-03 07:13:42
【问题描述】:

我可以使用 Github API 来检查某个仓库是否包含某个提交吗?

乍一看,the get a single commit API 调用似乎应该可以工作,如果存储库中没有这样的提交,则返回 404。但这不是真的:这个调用似乎会在分叉存储库中存在的提交上成功运行(可能是由于拉取请求)。 (这个效果也可以在regular web interface 中观察到;这个特定的提交还没有被拉到那个存储库中。)

【问题讨论】:

  • 当然,我猜想在本地克隆存储库进行检查是不可能的……对吧?
  • 当然这是另一种选择,但不能作为这个关于 GitHub API 的问题的答案。
  • 也许你可以使用方法 2:stackoverflow.com/questions/23899329/…
  • 这是一个有用的提示!

标签: github github-api


【解决方案1】:

Api GitHub 搜索

要搜索其他存储库,可以使用 api,它通过各种标准查找提交。 (此方法每页最多返回 100 个结果。):

API 使用

q 的示例参数

  • hash:124a9a0ee1d8f1e15e833aff432fbb3b02632105 将提交与哈希 124a9a0ee1d8f1e15e833aff432fbb3b02632105 匹配。
  • parent:124a9a0ee1d8f1e15e833aff432fbb3b02632105 匹配 124a9a0ee1d8f1e15e833aff432fbb3b02632105 的子级。

更多参数,如排序,排序可以在上面的文档中找到。

每个哈希的使用示例:

  • 示例调用 https://api.github.com/search/commits?q=<searchterm>+<searchterm2>
  • 具体调用https://api.github.com/search/commits?q=repo:adejoux/kitchen-wpar+hash:0a3a228e5b250daf06f933b35b3f0eafc715be4f

你需要添加一个特殊的header,因为该api可供开发者预览

要添加的标题: application/vnd.github.cloak-preview

【讨论】:

    猜你喜欢
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 2011-09-08
    • 2018-09-01
    • 1970-01-01
    相关资源
    最近更新 更多