GitHub团队协做流程

说来惭愧,这么长时间,第一次参与修改开源项目,因此整理了一份GitHub团队协做流程,做为备忘,文章大部份内容参考http://www.javashuo.com/article/p-ecejnzny-p.htmlhtml

GitHub开发流程

注:其中 零、1、七 是由团队项目负责人来完成的。开发人员只要从 二 开始就好了。git

零、前期准备

首先把队友直接push的权限关掉,即设置成Read。这样能够防止队友误操做,未经审核就把代码push到团队项目上。
Teams用来分配issue的时候会用到,因此保留下来,并非没有用。github

1、建立开发分支

master分支通常用来发布稳定版本,dev分支(开发分支)用来发布开发版本。
输入分支名称后,下面会跳出Create branch,点击便可建立。fetch

下面图片写的是develop,是由于咱们这个项目已经有dev分支了。若是大家没有dev分支,那么名字改为dev便可。这个影响不大。命令行

分支建立完毕后,会自动跳转到dev分支。因为dev分支是从master分支上建立的,所以内容与master分支一致。htm

2、Fork项目到我的的仓库

点击右上角的Fork,并选择你的帐号(通常在第一个)。就能够Fork团队项目到我的仓库啦。blog

Fork完成后图片

3、Clone项目到本地

首先是clone,clone的地址能够直接点击按钮复制(以下图)。开发

推荐使用SSH协议,用HTTP协议有时会出问题。
注意,这里clone的是你本身仓库里的项目rem

打开git命令行,输入指令和刚才复制的地址,回车便可克隆到本地

此时你只能看到master分支,并无把dev分支clone下来。使用 git branch 命令查看本地分支,发现本地只有master分支。以下图的①

如上图的②,使用 git branch -a 查看全部分支,就能看到远程分支。
根据远程分支,咱们能够建立一个新的本地分支dev,并把该项目的dev分支的内容放到本地dev分支。如上图③。

git checkout -b dev origin/dev 的意思是,建立一个dev分支(-b),并把远程dev分支(origin/dev)的内容放在该分支内。接着切换到该分支(checkout)

如今使用 git branch 能够查看两个分支,而且用 ls 或者 dir 就能看到dev分支的内容了。想切换回master分支的时候,再用 git checkout master 便可。

上面的操做完成后,你就能够在本地进行开发了。可是若是要将你修改完的代码合并到团队项目上,还须要进行下面的操做。

4、和团队项目保持同步

首先查看有没有设置upstream,使用 git remote -v 命令来查看。以下图①

若是没有显示upstream,则使用 git remote add upstream 团队项目地址 命令。如上图②
接着再次使用 git remote -v ,若是如上图③,显示出了upstream,那么就设置好了

开始同步。首先执行 git fetch upstream 获取团队项目最新版本。以下图①

此时并无把最新版本合并到你本地的分支上,所以还须要一步。如上图②,当前分支是dev分支,执行 git merge upstream/dev 命令后,会将源分支(upstream/dev)合并到当前分支(dev)。

若是你是在本地的master分支上开发,那么在使用该命令前,先切换到master分支。
merge的时候,有可能碰到冲突。须要解决冲突才能继续下面的操做。冲突的解决能够参考→ 冲突的解决

5、push修改到本身的项目上

解决冲突后,就可使用 git push 命令将本地的修改同步到本身的GitHub仓库上了。

注意,在当前所在分支使用push,会push到与这个分支相关联的远程仓库分支。这里dev分支与origin/dev关联,所以push到GitHub上的dev分支。

6、请求合并到团队项目上

首先到你的GitHub上,进入你Fork的仓库里。点击红框处的Pull request

下图左边红框,表示要合并到fzu2015/CourseManagement项目的dev分支。
下图右边红框,表示要从本身仓库的dev分支发起合并请求。
点击红框处的 Create pull request就能够发送合并请求了。

固然,在发送请求以前,你能够检查一下你都改了哪些东西。在上面那个页面往下拉,就能够看到二者的对比。以下图

以上操做结束后,团队成员的流程就结束了。最后一步交给团队项目负责人来完成。

7、团队项目负责人审核及赞成合并请求

首先进入GitHub的团队项目仓库中。此时右边的Pull requests显示当前项目有几个Pull request。点击进入查看。

选择一个Pull request

项目负责人审核有两个要注意的地方:

  • 一个是下图的①。必定要看清楚是合并到哪一个分支。这里是从schaepher的dev分支合并到fzu2015的dev分支。

  • 另外一个是下图的②。点击进去后,就能够查看该Pull request对项目作了哪些修改。这样若是有问题,能够及时发现,并关闭该Pull request。

若是关闭了,必定要告诉队友,不然他可能会不知道。虽然也能够直接在下面发布Comment告诉他,但队友不必定看到。

  • 若是没有问题,能够点击Merge pull request。这样就合并好了。
相关文章
相关标签/搜索