一、前言
1、本文主要内容
- GitLab Code Review机制说明
- Git Workflow 与 Git Code Review Workflow
- GitLab Code Review 配置说明
- GitLab Code Review 流程演示
- GitLab For IDE 插件介绍(JetBrains等等)
2、GitLab Code Review机制
GitLab可以在分支合并的时候支持两种方式:
1. 在本地将源分支(Source branch)代码合并到目标分支(Target branch)然后Push到目标分支(Target branch)
2. 将源分支(Source branch)Push到远端,然后在GitLab指定目标分支(Target branch)发起Merge Request,对目标分支(Target branch)拥有Push权限的用户执行Merge操作,完成合并。
也就是说,使用GitLab进行Code Review就是在分支合并环节发起Merge Request,然后Code Review完成后将代码合并到目标分支。
3、本教程适用环境信息
工具/环境 | 版本 |
---|---|
GitLab | GitLab.com、GitLab 社区版皆可 |
IDE | JetBrains(IntelliJ IDEA、PyCharm、PhpStorm、WebStorm、RubyMide、AppCode、CLion、GoLand、DataGrip、Rider、Android Studio等等) |
虽然Code Review不一定非要结合IDE来做,但是也不得不感谢JetBrains开发了几乎覆盖所有主流编程语言的IDE
JetBrains Tools目前覆盖的主流语言有:C/C++、C#、DSL、F#、Go、Groovy、Java、JavaScript、TypeScript、Kotlin、Objective-C、PHP、Python、Ruby、Scala、SQL、Swift、VB.NET(排名不分先后)
二、GitLab Code Review 配置
1、Code Review 工作流
- 通用Git工作流说明
- 需求确认后,从master创建develop分支
- 开发人员从develop分支创建自己的feature分支进行开发
- master分支发生变更,需要从master分支合并到develop分支、可以考虑定期合并一次
- feature分支合并到对应的develop分支之前,需要从develop分支合并到feature分支
- feature分支合并到对应的develop分支之后,发布到测试环境进行测试
- develop分支在测试环境测试通过之后,合并到release分支并发布到预发布环境进行测试
- release分支在预发布环境验证通过后,合并到master分支并发布到生产环境进行验证
分支名称约定:
分支类型 | 名称格式 | 说明 |
---|---|---|
Master | master | 有且只有一个 |
Release | release-* |
* 可以是班车发布日期也可以是需求名称缩写,也可以根据需要只用一个release分支 |
Develop | release-* |
* 通常是班车发布日期或者需求名称缩写 |
Feature | feature-{username}-* |
< |