如果您无法提交到他们的分支,如何将对另一个人的 github 拉取请求的提交添加到您的存储库中?



下面是场景:

我有一个公共回购 ABob 分叉 A,向 Bob/master 添加一些提交,并提交拉取请求以合并A/master中的这些更改。我想对提议的拉取请求进行一些更改,然后再将其合并回A/master

如果我不能推到Bob/master,我该怎么办?

您可以在此处使用许多工作流程。一些例子是:

  1. 对拉取请求进行评论,并让 Bob 进行一些更改。有关详细信息,请参阅拉取请求讨论。

  2. 将拉取请求合并到其他分支,然后在合并到 master 之前进行更改。您需要从命令行执行此操作;有关分步说明,请参阅合并拉取请求。

  3. 在使用 git am 应用修补程序之前对其进行编辑。请参阅修补和应用。这可能是最灵活的选项,但也是最手动的选项。

    git checkout master
    curl http://github.com/<username>/<project_name>/pull/<patch_number>.patch
    sensible-editor <patchfile>
    git am <patchfile>
    git push origin master
    

你可以从他的分支中提取本地存储库(不在 github gui 内部)

# make same work-in-progress branch and check it out
$ git checkout -b WIP
# pull his changes into WIP
$ git pull https://github.com/... master

然后从那里无情地改变。

另一种选择是使用 github 的评论系统来说服他更改他的补丁集(这样他也可以在合并后保留信用)。

一种解决方案是将 PR 制作成包含修订的Bob/master。鲍勃可以将您的 PR 合并到Bob/master;当你将 Bob 的 PR 合并到 A/master 中时,它将包含 Bob 的提交和你的提交。

您可以创建从任何分支/分支到任何其他分支/分支的 PR。因此,如果 Bob 从 Bob/feature 提交 PR,只需在 Bob/feature 中创建 PR 即可。

最新更新