七、玩转Git三剑客-使用GitHub进行团队协作

时间:2022-07-23
本文章向大家介绍七、玩转Git三剑客-使用GitHub进行团队协作,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

创建团队的项目

通过新建组织这个页面即可新建一个组织。

怎么选择适合自己团队的工作流

主干开发

  1. 开发团队系统开发团队系统设计和开发能力强。有一套有效的特性切换的实施机制,保证上线后无需修改代码就能够修改系统行为。需要快速迭代,想获得CI/CD所有好处。设计和开发能力强。有一套有效的特性切换的实施机制,保证上线后无需修改代码就能够修改系统行为。需要快速迭代,想获得CI/CD所有好处。
  2. 组件开发的团队,成员能力强,人员少,沟通顺畅。用户升级组件成本低的环境。

Git Flow

不具备主干开发能力。有预定的发布周期。需要执行严格的发布流程。

Github Flow

不具备主千开发能力。随时集成随时发布:分支集成时经过代码评审和自动化测试,就可以立即发布的应用。

GitLab Flow(带生产分支)

不具备主干开发能力。无法控制准确的发布时间,但又要求不停地集成。

GitLab Flow(带环境分支)

不具备主干开发能力。需要逐个通过各个测试环境的验证才能发布。

GitLab Flow(带发布分支)

不具备主干开发能力。需要对外发布和维护不同版本。

如何挑选合适的分支集成策略

在项目设置处可以选择允许通过那种方式合并。

例如如下项目,通过三种方式进行合并的结果。

  1. Create a merge commit

只要git能够解决即创建一个merge。

  1. Squash and merge

把三个蓝色的commit合并成一个,然后合并到黑色分支。

  1. Rebase and merge

相当于把蓝色的三个commit移动到黑色后边。

启用issue跟踪需求和任务

可以通过设置进行开启,默认是开启的。

也可以建立模板。

如何用project管理issue

  1. 创建project
  1. 将issue关联project

项目内部实施code review

为了保证集成分支代码质量,不允许不经过code review就集成到master分支。

  1. 添加规则
  1. 创建规则

团队协作时如何做多分支的集成

Create a merge commit

  1. 黑色分支首先与蓝色分支进行合并
  1. 接下来黑色分支与绿色分支进行合并 如果出现冲突,则需要人工解决。

解决完冲突进行合并。

Squash and merge

  1. 黑色分支首先与蓝色分支进行合并

会将蓝色分支的三次commit进行合并,然后加入到黑色分支。

  1. 接下来黑色分支与绿色分支进行合并 同样的需要处理冲突。

接下来进行合并。

Rebase and merge

  1. 黑色分支首先与蓝色分支进行合并

也就是将蓝色分支的三个commit直接移动到黑色主分支的后边。

  1. 接下来黑色分支与绿色分支进行合并 同样的需要处理冲突。

此时变不能进行合并了。

  1. 如果一定要用此方式则需要处理
    • 将绿色分支回退到到s处(远端本地都回退)
    • 将绿色分支基于黑色分支进行变基 git rebase origin/master接下来处理冲突(如果存在),重新添加文件并执行命令 git rebase --continue循环执行这一步,直到处理完所有冲突。
    • 接下来强制将绿色分支推送。

快速处理繁琐的过程。参考:Rerere

  1. Rerere全局配置打开 git config --global rerere.enabled true
  2. 切换到绿色分支与master进行合并 git merge master如果出现冲突,则处理冲突。如果出现Recorded preimage字眼则表示成功。
  3. 添加文件并生成commit git add . git commit -am"temp"
  4. 回退版本 git reset --hard HEAD~1
  5. 绿色分支基于master分支做变基 git rebase master接下来反复执行git rebase --continue即可。

如何保证集成的质量

可以通过设置进行对分支进行保护。

可以在marketplace进行安装检查代码的插件。

怎么给项目增加详细的指导文档

Wiki可以通过markdown进行编写。