Github Flow是一个非常轻便的,基于分支Branch的工作流。非常适合代码部署非常频繁的团队和项目。
它适用于两种情况:
① 彼此互相熟知的团队成员之间相互协作
② 开源项目中,跟互不相识的开源贡献者相互协作
Pull Request的含义:表示我现在做了一个功能放在一个分支Branch之上,希望项目的维护者从我的这个分支上拉取代码到maser分支之上。
① 彼此互相熟知的团队成员之间相互协作
前提条件:项目所有者需要给项目协作者Collaborators添加写权限,二者才可以协同维护该项目。
添加协作者的执行步骤为:进入当前repository下,点击Settings,在Options中点击Collaborators,输入密码,在Add Collaborator中输入要添加的协作者Collaborator。
协作案例:不断添加版本实现新功能
添加完协作者之后,两个人就都可以对该repository进行修改。将协同合作的两个人设为A、B。
A在修改master项目时,一般不在master上直接修改,而是创建一个新的分支,然后再修改,修改后点击publish,将会将修改后的版本同步到github网站上。
当B打开该repository时,将会收到该repository已经被A修改的通知以及修改的详细内容。然后B可以观察内容,并回复cool通知A,“你改的代码很cool”。
协作案例:发起Pull Request
当我在新分支上执行 new pull request 成功之后,该项目会在Pull Request后显示1。它能够提示项目维护者去处理pull request。
项目维护者看到该Pull Request,进行审核。如果审核后感觉该版本非常好,则可以点击“Merge pull request”将该pull request合并到master中。
② 开源项目中,跟互不相识的开源贡献者相互协作
因为项目都是开源的,人数很多,所以我想让项目的开源者给我加一个写权限,那是不现实的。我们应该怎么样贡献开源项目呢?
举例:happypeter想贡献billie66的开源项目TLCL
- 首先,happypeter进入TLCL开源项目下,点击Fork,就会将该项目放到我自己的github账号下。
- 然后,happypeter就可以在自己的仓库中,修改fork的项目TLCL的内容。修改后,就可以点击new pull request。
- 最后,billie66可以看到该pull request,然后进行审核,决定是否采用该修改。