【发布时间】:2011-09-22 10:16:52
【问题描述】:
我最近开始在 GitHub 上管理一个项目,人们一直在该项目中提交拉取请求。我希望能够:
首先审查它们以确保它们确实有效
在合并到母版之前可能会进行一些风格更改
我该怎么做?
您是否必须创建一个单独的分支,例如“dev”,并指示人们在合并到 master 之前对其进行编码?
【问题讨论】:
标签: github pull-request
我最近开始在 GitHub 上管理一个项目,人们一直在该项目中提交拉取请求。我希望能够:
首先审查它们以确保它们确实有效
在合并到母版之前可能会进行一些风格更改
我该怎么做?
您是否必须创建一个单独的分支,例如“dev”,并指示人们在合并到 master 之前对其进行编码?
【问题讨论】:
标签: github pull-request
这里有一个github help 页面,详细说明了如何通过在本地签出拉取请求来更改拉取请求。
我可能会尝试首先为拉取请求提交者创建一个远程(我正在使用上面页面中的示例):
git remote add kneath git://github.com/kneath/jobs.git
获取更改:
git fetch kneath
查看有问题的分支(例如 master):
git checkout kneath/master
随心所欲地审查他们,因为那里的代码将是拉取请求代码。运行测试等。
如果您愿意,可以合并它们:
git checkout master
git merge kneath/master
此外,这是 git project management workflows 上的一个非常好的页面,其中详细介绍了协作集成可以采用的各种工作流程。
【讨论】:
使用 GitHub 做事的更快方法是使用 Zach Holman 在他的 GitHub Secrets II Talk (video) 中提出的这个 GitHub 功能。
git fetch origin pull/id/head:name
id 是拉取请求 ID,head 是远程分支(在 fork 上),name 是您要为本地分支指定的名称。例如:
git fetch origin pull/12/head:pr
将拉取请求 #12 提取到名为 pr 的分支中。
如果你经常使用它,你可以在 git 中添加它作为别名。
【讨论】:
head 字符串实际上是 head,而不是分支名称 (f.i. master)。