如何检查我是否有给定GitHub仓库的分支?

时间:2018-02-22 01:42:23

标签: github github-api

我们假设有一个存储库foo/bar,我将其分配到me/custom-bar。我如何以编程方式检查(API调用可能?),foo/bar存在我从上游拥有的fork?目前,GitHub具有repos/owner/id/forks API端点,如果您明确提及它,则返回最多100个条目。我没有看到任何用于为此特定问题创建自定义查询的参数。考虑到速率限制和内容,我不认为使用这个API端点可以知道这个,如果我说Linux项目的叉子存在超过20k +叉子。有没有快速有效的方法来了解这一点?

注意:如果可能的话,我不想使用身份验证。

2 个答案:

答案 0 :(得分:0)

作为一种解决方法......你总是可以尝试分叉你自己的仓库(POST /repos/:owner/:repo/forks)。

如“Is it possible to 'fork a fork' in Github?”中所述,如果您自己的仓库本身就是一个分支,那么通常不可能(对于一个单一的非组织账户)。

答案 1 :(得分:0)

这里的解决方案是:

  1. 使用GET /users/:username/repos
  2. 检查您的存储库
  3. 对于每个具有fork属性的存储库,请使用GET /repos/:owner/:repo的GEt存储库信息
  4. 检查json响应中的父对象(其中包含fork的父文件夹),并验证full_name是否是您的foo/bar存储库