Github API:检查分支或存储库是否包含提交

15

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

乍一看,似乎获取单个提交的API调用应该可以工作,如果存储库中没有这样的提交,则返回404。但事实并非如此: 看起来,此调用将在派生存储库中存在的提交上成功运行(可能是由于拉取请求)。(这个效果也可以在常规的Web界面中观察到; 这个特定的提交还没有被拉入那个存储库中。)


您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - jub0bs
当然那是个替代方案,但并不符合这个关于GitHub API的问题的答案。 - Joachim Breitner
5
也许你可以使用第二种方法:https://dev59.com/ioDaa4cB1Zd3GeqP_ha1#23970412 - Ivan Zuzak
那是一个有用的提示! - Joachim Breitner
1个回答

4

GitHub搜索API

使用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

您需要添加特殊标头,因为该API可供开发人员预览。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接