如何通过Github API从原始叉子中更新

托马斯·帕斯洛

我已经通过github API创建了github存储库的fork。现在,稍后,我想将任何更新从原始存储库拉到派生。在我的用例中,这应该始终是一个快进。我具有对原始存储库的读取访问权限,并且对fork有读写权限。

我想过可能要创建一个Pull Request然后接受(两者都可以通过API来完成),但这会产生噪音(Pull Request被创建和销毁),而且看起来似乎不正确。

有没有办法通过API做到这一点?

阿维夫

我没有这方面的内幕消息,因此这可能是一项错过功能,将在某些时候消除。直到那时:

Github使整个(我假设)整个fork网络的所有提交可用。因此,接受提交哈希的API将很乐意从上游或跨其他fork处理哈希(明确记录在repos / commits / compare中,创建了pull requst)。

因此,有两种方法仅通过API进行更新:

  1. 使用Git数据API:如果不更改fork的主数据库,通常这是最佳选择。

    1. 获取上游ref /repos/upstream/repo/git/refs/heads/master,并从中获取哈希值
    2. /repos/my/repo/git/refs/heads/master使用相同的哈希值更新您的fork PATCH
  2. 使用更高级别的合并api:这将创建一些人喜欢的合并提交。

    1. 像以前一样获取上游参考
    2. 创建一个合并以master在您的仓库中分支
  3. 向自己请求请求并通过api进行合并:这样不仅可以创建合并提交,还可以创建PR。

    1. 创建PR:POST到/repos/your/repo/pullshead = "upstream:master"
    2. 从响应中获取PR网址,
    3. 合并:放入 /repos/your/repo/pulls/number/merge

选项1和2可能也可以使用“上游:主”符号,从而节省API调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章