我最近开始在 GitHub 上管理一个项目,人们一直在该项目中提交拉取请求。我不想将它们合并到 master 中,而是希望能够:
首先审查它们以确保它们确实有效
在合并到master之前可能会做一些风格上的改变
我怎样才能做到这一点?
您是否必须创建一个单独的分支,例如“dev”,并指示人们在合并到 master 之前对其进行编码?
我最近开始在 GitHub 上管理一个项目,人们一直在该项目中提交拉取请求。我不想将它们合并到 master 中,而是希望能够:
首先审查它们以确保它们确实有效
在合并到master之前可能会做一些风格上的改变
我怎样才能做到这一点?
您是否必须创建一个单独的分支,例如“dev”,并指示人们在合并到 master 之前对其进行编码?
有一个github 帮助页面,详细说明了如何通过在本地签出拉取请求来更改拉取请求。
我可能会尝试首先为拉取请求提交者创建一个远程(我正在使用上面页面中的示例):
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项目管理工作流的非常好的页面,其中详细介绍了协作集成可以采用的各种工作流。
使用 GitHub 做事的一种更快的方法是使用Zach Holman在他的GitHub Secrets II Talk(视频)中提出的这个 GitHub 功能。
git fetch origin pull/id/head:name
id
拉取请求 ID在哪里,head
是远程分支(在 fork 上),并且name
是您要为本地分支提供的名称。例如:
git fetch origin pull/12/head:pr
将拉取请求 #12 提取到名为pr的分支中。
如果你经常使用它,你可以在 git 中添加它作为别名。