多用户Github Pull请求

Nei*_*ton 34 git github

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

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

这甚至可能吗?

opp*_*pih 24

你可以这样做:

在你的回购中,

git checkout -b new-branch
Run Code Online (Sandbox Code Playgroud)

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

git pull git://github.com/[User A]/[project-name].git
Run Code Online (Sandbox Code Playgroud)

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

git checkout master
git merge new-branch
Run Code Online (Sandbox Code Playgroud)

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

  • 我认为``git fetch upstream pull/<pull id>/head:<new-branch>``比git pull更好拉PR. (5认同)
  • 分支名称是`git pull`的可选第二个参数 (4认同)
  • 当我最终将主人推回原点时,这会关闭GitHub上的PR吗?是否足够聪明才能理解我合并的内容(用户A的更改+我的)实际上包含拉取请求中的内容?编辑:我的意思是,如果我这样做,它会将PR标记为合并在GitHub上吗?(当拉取请求中的更改是合并内容的子集时). (3认同)
  • "当我最终把主人推回原点时,这会关闭GitHub上的PR吗?" < - 是的,GitHub很聪明,知道它来自同一个PR并关闭它. (3认同)

lar*_*sks 10

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

当您创建新的拉取请求时,您会看到一个标记为" 允许维护者编辑 "的复选框.默认情况下启用此选项.

有了这个地方,任何人只要有提交权限到作为存储库的目标您的拉请求也将能够推动改变的分支您的存储库是拉请求的来源.

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