Github API:如何查找拉取请求的分支?

28
Github API(v3)允许您获取拉取请求的列表,并获取有关单个拉取请求的更多详细信息。但我似乎找不到拉取请求来自哪个分支以及拉取请求建议将代码合并到哪个分支中的名称。
使用Github API,如何确定涉及拉取请求的分支?
1个回答

46
  1. 访问拉取请求URL。 让我们以 https://api.github.com/repos/github/gitignore/pulls/566 为例。

  2. 解析JSON对象。


一个 Pull Request 引用了两个分支。该 base 分支是合并目标,通常情况下是该仓库的 master 分支。
  • base.labelgithub:master,表示它是 > github/gitignoremaster 分支。
  • base.ref 是分支名称 "master"。
  • base.sha 是该分支的当前SHA
head 分支是你要合并到 base 的分支。
  • head.labelfidelski:add-obvious-autotools-files,表示它是 fidelski/gitignoreadd-obvious-autotools-files 分支。
  • head.ref 是分支名称 add-obvious-autotools-files
  • head.sha 是该分支的当前SHA

2
我发现 base.sha 可以是基础分支上的一个提交,该提交比 git merge-base 更为新,但比该分支当前的头部旧大约一天时间。即使针对已经长时间未被处理的 Pull Request,它也可能会周期性地更新到基础分支头部,但仍会在一段时间内被缓存。 - Jesse Glick
没错,@JesseGlick是对的,base.sha是不可信的。如果你正在做任何依赖于基础分支当前sha的事情,请直接获取它。 - Shawn Erquhart

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