使用GitHub API合并上游分支

3
无法使用Github API合并上游存储库中的提交记录,如下所示:https://developer.github.com/v3/repos/merging/。我想将base参数设为其他人分支中的一个。我尝试使用 "otheruser/master" 和 "otheruser:master" 作为基础进行POST请求。在此端点上是否没有跨存储库合并的方法?请指导。
2个回答

1
据我所知,merge API 只支持在同一代码库中合并分支。
我认为您想创建一个拉取请求。
https://developer.github.com/v3/pulls 拉取请求必须在将更改拉取到的代码库中进行。在您的情况下,端点可能如下: /repos/:owner/:repo/pulls :owner 将是 otheruser:repo 将是其 fork 的名称。
正如文档中所述,这是一个 POST 请求。在正文中,您需要将您的分支指定为 head,例如 <username>:<branch name>。而 base 应该只是分支的名称。因为拉取请求是在具有 base 分支的代码库中进行的,所以 base 只需要是分支的名称即可。

制作一个PR会如何帮助我解决这个问题?从fork到我的repo已经存在一个PR,我想使用GithubApi将fork的代码库更新为master。 - orepor

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
}


注意!!! .

如果在派生版本和原始版本之间有一个拉取请求打开,它将关闭该拉取请求并覆盖提交记录。


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