github - 提交出现的分支列表

标签 github github-api

使用 GitHub API (v3) 我想弄清楚提交出现在哪些分支上。我没有找到直接查询这个的方法,无论是通过 repo 提交还是提交数据对象。另一种解决方案是列出所有分支,并与它们的 HEAD 进行比较;我想如果提交不在给定的分支上,比较会失败。

这是否通过当前的 API 支持,而我只是错过了它?如果没有,您有(更好的)解决方法吗?

最佳答案

这是不可能直接通过 GitHub API 实现的。

解决方法 1:

  • 得到一个 list of all branches
  • 对于每个分支,得到一个 list of commits on that branch
  • 检查提交是否在每个分支的提交列表中

  • 解决方法 2(我认为这会起作用,但不能 100% 确定我是否错过了案例):
  • 得到一个 list of all branches
  • 对于每个分支,compare the branch with the SHA :
    https://api.github.com/repos/:user/:repo/compare/:branch...:sha_of_commit
  • 如果status的值响应中的属性是 divergedahead ,则提交不在分支中。如果status的值属性是 behindidentical ,然后提交在分支中。
  • 关于github - 提交出现的分支列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23899329/

    相关文章:

    ruby-on-rails - 使用 Github 和多台计算机的最佳方式是什么?

    github-api - 如何使用 API 删除 GitHub 存储库

    node.js - 如何从Github API获取私有(private)组织存储库列表?

    Github 问题 'locked' 事件不会更新问题本身

    github - 通过 GitHub API 获取 Git 标签中的所有提交仅返回第一次提交

    Github GraphQL - 获取存储库的提交列表

    GitHub 拉取请求评论行评论行为

    node.js - Windows 上的 Git Bash 命令,找不到 yarn 命令

    github - SSH 连接到 github 失败

    gitignore - 忽略文件夹中生成的文件,但不忽略文件夹