团队项目在GitHub合作开发管理流程

一.前期准备

其中 一、二、八 是由团队项目负责人来完成的。开发人员只要从 三 开始就行了。

  首先把队友直接push的权限关掉,即设置成Read。这样可以防止队友误操作,未经审核就把代码push到团队项目上。

  Teams用来分配issue的时候会用到,所以保留下来,并不是没有用。

团队项目在GitHub合作开发管理流程_第1张图片

二.创建开发分支

  master分支一般用来发布稳定版本,dev分支(开发分支)用来发布开发版本。输入分支名称后,下面会跳出Create branch,点击即可创建。

  下面图片写的是develop,是因为这个项目已经有dev分支了。如果你们没有dev分支,那么名字改成dev即可。这个影响不大。

团队项目在GitHub合作开发管理流程_第2张图片

  分支创建完毕后,会自动跳转到dev分支。由于dev分支是从master分支上创建的,因此内容与master分支一致。

团队项目在GitHub合作开发管理流程_第3张图片

三.Fork项目到个人的仓库

  点击右上角的Fork,并选择你的账号(一般在第一个)。就可以Fork团队项目到个人仓库啦。

团队项目在GitHub合作开发管理流程_第4张图片

  Fork完成后

团队项目在GitHub合作开发管理流程_第5张图片

四.Clone项目到本地

  首先是clone,clone的地址可以直接点击按钮复制(如下图)。

  推荐使用SSH协议,用HTTP协议有时会出问题。

  注意,这里clone的是你自己仓库里的项目

团队项目在GitHub合作开发管理流程_第6张图片

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

团队项目在GitHub合作开发管理流程_第7张图片

  克隆远程仓库失败,可看此篇博客解决,因为专业关系,本人对设计加密的内容比较感兴趣,所以查询了相关内容。

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

团队项目在GitHub合作开发管理流程_第8张图片

  如上图的②,使用 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 即可。

团队项目在GitHub合作开发管理流程_第9张图片

  上面的操作完成后,你就可以在本地进行开发了。但是如果要将你修改完的代码合并到团队项目上,还需要进行下面的操作。

五.和团队项目保持同步

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

团队项目在GitHub合作开发管理流程_第10张图片

  如果没有显示upstream,则使用 git remote add upstream 团队项目地址 命令。如上图②

  接着再次使用 git remote -v ,如果如上图③,显示出了upstream,那么就设置好了。开始同步。首先执行 git fetch upstream 获取团队项目最新版本。如下图①

团队项目在GitHub合作开发管理流程_第11张图片

  此时并没有把最新版本合并到你本地的分支上,因此还需要一步。如上图②,当前分支是dev分支,执行 git merge upstream/dev 命令后,会将源分支(upstream/dev)合并到当前分支(dev)。如果你是在本地的master分支上开发,那么在使用该命令前,先切换到master分支。merge的时候,有可能碰到冲突。需要解决冲突才能继续下面的操作。冲突的解决可以参考→ 冲突的解决

六.push修改到自己的项目上

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

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

团队项目在GitHub合作开发管理流程_第12张图片

七.请求合并到团队项目上

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

团队项目在GitHub合作开发管理流程_第13张图片

  下图左边红框,表示要合并到fzu2015/CourseManagement项目的dev分支。

  下图右边红框,表示要从自己仓库的dev分支发起合并请求。

  点击红框处的 Create pull request就可以发送合并请求了。

团队项目在GitHub合作开发管理流程_第14张图片

团队项目在GitHub合作开发管理流程_第15张图片

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

八.团队项目负责人审核及同意合并请求

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

团队项目在GitHub合作开发管理流程_第16张图片

  选择一个Pull request

团队项目在GitHub合作开发管理流程_第17张图片

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

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

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

如果关闭了,一定要告诉队友,否则他可能会不知道。虽然也可以直接在下面发布Comment告诉他,但队友不一定看到。

团队项目在GitHub合作开发管理流程_第18张图片

  如果没有问题,可以点击Merge pull request。这样就合并好了。

一直以来因为互联网知识获取过于容易的原因,本人在版权方面的意识过于薄弱,经过各位助教老师的提醒在此处特意更正申明一下:以上内容引用自

Schaepher

方便各团队同学学习,整理到此博客当中,并且本转载博文只用于本校同学学习,不作他用。

关于以下问题的解决

  • 同步团队项目到本地时出现冲突怎么办?
  • 项目负责人merge一个Pull Request后发现有错怎么回退?

你可能感兴趣的:(团队项目在GitHub合作开发管理流程)