多用户Github Pull请求

时间:2012-11-27 20:40:40

标签: git github

是否可以修改其他人已启动的拉取请求?

假设我维护项目X,并且用户A向我发送了拉取请求。在合并之前我想要改变一些东西,并且可以自己快速完成。我怎样才能简单地将其保存在一个PR内?

这甚至可能吗?

6 个答案:

答案 0 :(得分:24)

你可以这样做:

在你的回购中,

git checkout -b new-branch

然后将用户A的提交拉入新分支:

git pull git://github.com/[User A]/[project-name].git

之后,您可以在新分支中随意更改它。当您测试并满足您的更改时,您可以将其合并到主分支中:

git checkout master
git merge new-branch

好的,现在您的代码包含用户A和您的更改。

答案 1 :(得分:10)

我意识到这是一个老问题,但GitHub最近推出了一些新功能,可以实际更新其他用户提交的拉取请求。

当您创建新的拉取请求时,您会看到一个标有“允许维护者编辑”的复选框。默认情况下启用此功能。

有了这个,任何拥有对您的拉取请求的目标的存储库的提交权限的人也将能够将更改推送到您的存储库的分支这是拉取请求的起源。

这尤其适用于团队环境,其中每个人都可以提交对“主”存储库的访问权限,但所有工作都在单个分支中的功能分支上完成。这意味着如果存在需要进行一些更改并且主要作者不可用的打开拉取请求,团队中的其他人可以直接进行必要的更新,而不是关闭现有的PR并打开新的PR。

答案 2 :(得分:3)

假设您已阅读并写入访问用户的github存储库,您可以将其推送到拉取请求来自的分支。

在MERGE PULL REQUEST按钮之前,它位于拉取请求的底部。

  

您可以通过推送到yyyy / zzzzz上的XXXXX分支,为此拉取请求添加更多提交

答案 3 :(得分:1)

不幸的是,不,以下不起作用:

git push -f upstream my-updates:refs/pull/999/head ... ! [remote rejected] my-updates -> refs/pull/999/head (deny updating a hidden ref) error: failed to push some refs ...

答案 4 :(得分:0)

不可能,但您可以向其分支机构提交第二个拉取请求,如果他们决定将其合并,则会更新原始拉取请求。

答案 5 :(得分:-3)

有可能!所有你需要做的就是检查拉取请求中的分支并进行所需的更改。提交并推送这些更改后,它们应该反映在Github中的pull请求中。