我通过 github API 创建了 github 存储库的分支。现在,稍后,我想将所有更新从原始存储库提取到分支中。在我的用例中,这应该始终是快进。我拥有对原始存储库的读取权限和对分支的读写权限。
我想过也许创建一个拉取请求然后接受(这两者都可以通过 API 完成),但这会产生噪音(拉取请求被创建和销毁)并且看起来不太正确。
有没有办法通过 API 来做到这一点?
我没有这方面的内幕消息,所以这可能是一个缺失的功能,会在某个时候被删除。到那时:
Github 提供了(我假设)整个分叉网络的所有提交;因此,接受提交哈希值的 API 将很乐意处理来自上游或跨其他分支的哈希值(这在repos/commits/compare和创建拉取请求中有明确记录)。
因此,有几种仅通过 API 进行更新的方法:
使用 Git data api:如果您不更改 fork 的 master,这通常是最好的选择。
/repos/upstream/repo/git/refs/heads/master
,并从中获取哈希值/repos/my/repo/git/refs/heads/master
。使用更高级别的merge api:这将创建一个合并提交,有些人喜欢这样。
master
。 向自己拉取请求并通过 api 合并它:这最终不仅会创建合并提交,还会创建 PR。
/repos/your/repo/pulls
发布到
head = "upstream:master"
/repos/your/repo/pulls/number/merge
“upstream:master”符号也可能适用于选项 1 和 2,从而节省 API 调用。
目前不可能,但我已经将其添加到我们的 API 愿望清单中。 :)