使用GitHub Api从上游合并

时间:2014-09-16 00:48:43

标签: github

看起来我不能使用github api从上游仓库合并提交:

https://developer.github.com/v3/repos/merging/

我希望base参数是来自别人的分支的分支。我已尝试使用“otheruser/master”和“otheruser:master”进行POST。有没有办法在这个端点合并叉子?

2 个答案:

答案 0 :(得分:0)

据我所知,merge api仅支持在同一个存储库中组合分支。

我想你想提出拉动请求 https://developer.github.com/v3/pulls

拉取请求必须在repository中进行,而变更将被拉入。在您的情况下,端点看起来像这样

/repos/:owner/:repo/pulls

:owner将是otheruser

:repo将是他们的叉子的名称

如文档中所述,这是POST。在正文中,您可以将此分支指定为head,例如<username>:<branch name>base应该只是分支的名称。 base只需要是分支的名称,因为拉取请求是在具有base分支的存储库中进行的。

答案 1 :(得分:0)

解决方案是使用refs

https://developer.github.com/v3/git/refs/#update-a-reference

请求看起来像这样:

https://api.github.com/repos/<fork-owner>/<fork-repo>/git/refs/heads/<forked-branch-name>

身体看起来像这样:

{
  "sha": <master-sha-in-origin-repo>,
  "force": true
}


当心!

如果在fork和原始文件之间打开了Pull-Request,它将关闭PR并运行提交