日志规范
在一个团队协作的项目中,开发人员需要经常提交一些代码去修复bug或者实现新的feature。而项目中的文件和实现什么功能、解决什么问题都会渐渐淡忘,最后需要浪费时间去阅读代码。但是好的日志规范commit messages编写有帮助到我们,它也反映了一个开发人员是否是良好的协作者
规则
1、feature分支pr进develop时,需简介feature功能;
2、dev分支pr进demo及master时,需按需求进行相关审核;
2、feature子分支合并进feature时,需简介模块功能;
4、分支的commit内容描述一下提交内容;
5、feature子分支在用过之后,确认功能完善,代码提测完成后,将远程仓库删除,保持仓库整洁。
Commit规范:
类型 | 含义 |
---|---|
<feat> |
新增功能 |
<fix> |
修复bug |
<docs> |
仅仅修改了文档,比如README/CHANGELOG/CONTRIBUTE等 |
<style> |
仅仅修改了空格、格式缩进、偏好等信息,不改变代码逻辑 |
<refactor> |
代码重构,没有新增功能或修复bug |
<perf> |
优化相关,提升了性能和体验 |
<test> |
测试用例,包括单元测试和集成测试 |
<chore> |
改变构建流程,或者添加了依赖库和工具 |
<revert> |
回滚到上一个版本 |
<ci> |
CI配置,脚本文件更新等 |
(必须写)<type>
(<scope>
):<subject/>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
积压工作项顶格写在 type之前 例如:git commit -m '#积压工作项数字 feat: 新增xx功能'
分支管理
git流程:
分支类型 | 命名 | 分支名称 | 含义 |
---|---|---|---|
<Master> |
master | 生产分支 | master分支唯一且稳定,一般修复bug后,确保稳定才合并到master分支 |
<Develop> |
dev | 开发分支 | dev分支唯一,feature分支开发依赖于dev分支,测试开发环境依赖分支 |
<Feature> |
feature-团队名称简写 | 功能子分支 | 每个外协团队单独一个分支,外协团队前端成员都在本feature同一分支中进行单线的git开发操作,在每个分支里写代码业务逻辑,完成之后合并到dev分支;分支名可按“feature-团队名简写”命名,如:“feature-zy” |
<Feature> |
feature-团队名称简写 | 功能子分支 | 每个外协团队单独一个分支,外协团队前端成员都在本feature同一分支中进行单线的git开发操作,在每个分支里写代码业务逻辑,完成之后合并到dev分支;分支名可按“feature-团队名简写”命名,如:“feature-hx” |
master分支
- master 为主分支,也是用于部署生产环境的分支,确保master分支稳定性
- master 分支一般由develop分支合并,任何时间都不能直接修改代码
dev 分支
- dev 为开发分支,始终保持最新完成以及bug修复后的代码,也是用于部署测试开发环境的分支
- feature子分支是基于dev分支下创建的
feature子分支
- 分支命名: feature-团队名称简写 命名, 命名规则: feature-zy、feature-hx
常见任务
增加新功能
(dev)$: git checkout -b feature-zy origin dev # 从dev建立feature子分支,分支命名为:feature-zy 命名
(feature-zy$: blabla # 开发
(feature-zy)$: git pull origin feature-zy # 先同步远程git分支,避免分支中的自动merge操作
(feature-zy)$: git add xxx
(feature-zy)$: git commit -m 'commit comment'
(feature-zy)$: git push origin feature-zy # 推送本地分支到远程仓库
在效能平台建立feature-zy到dev的拉取请求,等待审核后合并,合并后dev分支对应测试开发环境便可进行后续cicd流程