github graphql api 存储库中的默认分支

Posted

技术标签:

【中文标题】github graphql api 存储库中的默认分支【英文标题】:github graphql api default branch in repository 【发布时间】:2018-08-02 18:34:11 【问题描述】:

我有以下疑问:


  repository(owner: "org", name: "name") 
    name
    object(expression: "master:package.json") 
      ... on Blob 
        text
      
    
  

但如您所见,我必须在对象表达式中硬编码master。我想知道是否有办法在该查询中使用默认分支。这是否可能无需执行 2 次查询(1 次获取默认分支,然后另一次获取文件内容)?

【问题讨论】:

【参考方案1】:

上面有一个related question(也有赏金),详细的in this thread...但这是您使用的语法:

object field 上传递给表达式的参数实际上是一个适合 git rev-parse 的 git 修订表达式,所以我想你可以用它来进行高级查询。

所以specify a revision 的任何方式都应该这样做,包括 HEAD,它会引用默认的远程分支。但不是“当前分支”。

【讨论】:

好的,但在那个例子中他们使用expression: "branch:path/to/file" 我想知道的是我用什么代替'branch'以便它使用默认分支? 'master' 并不总是默认的... @Ben 是的,master 并不总是默认分支,这就是为什么我在回答中建议使用 HEAD:应该引用默认分支。见***.com/a/1485590/6309

以上是关于github graphql api 存储库中的默认分支的主要内容,如果未能解决你的问题,请参考以下文章

使用 Graphql 和 Github API 获取存储库信息

Github V4 graphql - 无法获取组织用户贡献信息

如何使用 GitHub REST API 通过我的个人访问令牌访问组织拥有的私有存储库中的文件数据?

Github GraphQL API:如何收集特定用户的存储库?

GitHub API v4 Graphql:获取当前授权用户组织及其存储库

GitHub 的 GraphQL API:如何获取我对特定公共存储库所做的所有提交?