基于gitlab规范团队协作
导语
question
项目做大,团队成员增长,为了更好地管理代码和安排新功能上线,我们需要进一步在branch、commit message、changelog、issue等方面规范我们的开发协作。
member
开发经理、开发工程师、测试工程师
attention
在协作开发过程中,遵循规范总是可以减少很多沟通上成本。
规范
branch
开发经理在远程仓库创建master
分支,develop
分支和hotfix
分支。
开发人员可以在本地自由创建多个分支,但是只能向develop
分支和hotfix
分支推送代码。
merge到master
分支操作只能由开发经理完成。
commit
借鉴angular规范
实现插件:cz-cli
安装commitizen
npm install -g commitizen
安装commitizen适配器
npm install -g cz-conventional-changelog
配置环境变量
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
使用方式:git cz
替代git commit
changelog
实现插件:conventional-changelog-cli
安装插件
npm install -g conventional-changelog-cli
跳转到项目文件夹
cd my-project
向CHANGELOG.md中追加内容
conventional-changelog -p angular -i CHANGELOG.md -s
第一次使用
conventional-changelog -p angular -i CHANGELOG.md -s -r 0
issue
测试人员借助.gitlab/issue_templates
来实现模版化提交issue
项目设置以下标签:
- bug
- feature
- enhancement
- duplicate
- wontfix
- doing
- to do
测试人员或开发经理将issue打标签后,assign到各个开发者手上。
开发者调整代码后,git commit
或git cz
时需要关联issue。
关联本项目的issue
git commit -m "修复了登录失败的问题 #9"
关联其他项目的issue
git commit -m "修复了登录失败的问题 #https://gitlab.jhit.com.cn/kjj/zjrd-dms/issues/9"
merge requests
通过gitlab的merge requests,进行code review