阿男的小窝

View the Project on GitHub

Github的Pull Request流程

这篇文章介绍如何使用Github定义的Pull Request流程为别人的项目贡献commits。

以这个项目为例子:

https://github.com/AnnYN/foo

这个项目不是属于我的,但是我想为它贡献一些修改,改怎么做呢?Github为我们定义了一个Pull Request的流程。

首先点击上面这个项目右上角的”Fork”:

这样,我就把这个项目fork了一份到我自己的账号空间里面来:

这个项目到我的空间里以后,名字变成了foo-1

https://github.com/liweinan/foo-1

是因为我自己的空间里有了一个叫做foo的项目,名字被占用了,所以这个项目被github加了个编号,叫做foo-1了。如果你fork的项目在你自己的空间里没有同名的项目,是不会出现这种加编号的情况的。

此时我clone自己的这个forked project:

然后就正常地对这个项目进行编辑。在这个例子里面,我往里面添加了一个图片文件:

此时,我们要创建一个新的分支:

$ git checkout -b add-picture

然后在这个新的分支里把修改的内容(添加的图片)给commit进去:

可以通过git branch命令看到,我们当前的commit是在add-picture这个分支里完成的:

此时把这个分支push到github上:

$ git push origin add-picture

注意这次我们push的是这个add-picture分支,而不是默认的master分支。

此时查看一下github上我的fork项目:

注意多了一个”Compare & pull Request”的操作:

点击这个按钮,就可以把我们这个分支里的commit请求合并到这个项目拥有者的项目里去:

从上面可以看到,默认是请求合并到”master”分支里去。此时点击”Create pull request”,就创建了这个请求:

https://github.com/AnnYN/foo/pull/2

此时等待项目的拥有者审核这个请求就可以了。如果拥有者在上面的页面里Approve了这个Pull Request,这个分支里的commit就被合并到了原作者的项目的master分支里。

以上就是Pull Request的一个流程。