现状
团队之前使用SVN进行代码管理,也没有很好的利用分支管理代码版本。版本冲突问题比较严重,版本库里的代码不能作为稳定代码。
开发人员永远不知道生产上代码长啥样(环境上是编译后的jar),提测需要跟测试版本比较,上生产需要跟生产版本比较,混乱的一匹。
基于以上原因(尽管svn也有办法解决版本问题),直接在团队里推行了git版本管理,部署了gitlab做管理工具,并参考了网上各种资料以及以前公司的处理经验,制定了一套代码管理方案。
解决方案
基于gitlab进行的代码权限、流程管理
代码分支
- master分支 生产代码版本
- qa分支 测试代码版本
- dev-xxx 开发代码版本(xxx表示版本号)
gitlab角色
gitlab角色 | team身份 | fork团队代码 | 提交到个人仓库 | 申请合并到团队仓库开发分支 | 合并到团队开发分支 | 申请合并到团队qa分支 | 合并到团队qa分支 | 申请合并到master分支 | 合并到团队master分支 | 备注 |
---|---|---|---|---|---|---|---|---|---|---|
Reporter | 开发人员 | √ | √ | √ | ||||||
Developer | 项目leader | √ | √ | √ | √ | √ | ||||
Master | 测试人员 | √用不到 | √用不到 | √用不到 | √用不到 | √用不到 | √ | √ | √ |