下面是场景:
我有一个公共回购 A。Bob 分叉 A,向 Bob/master
添加一些提交,并提交拉取请求以合并A/master
中的这些更改。我想对提议的拉取请求进行一些更改,然后再将其合并回A/master
。
如果我不能推到Bob/master
,我该怎么办?
您可以在此处使用许多工作流程。一些例子是:
-
对拉取请求进行评论,并让 Bob 进行一些更改。有关详细信息,请参阅拉取请求讨论。
-
将拉取请求合并到其他分支,然后在合并到 master 之前进行更改。您需要从命令行执行此操作;有关分步说明,请参阅合并拉取请求。
-
在使用
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 即可。