1. 分支命名与保护
1.1 分支命名
1.1.1 master(主分支)
- 主分支,线上环境
- 该分支为只读分支,只能从 test 分支合并,不能直接在此分支上进行修改
- 有在 master 分支的推送应该打标签做记录,方便追溯
1.1.2 release(预发布分支)
- 预发布分支,基于 dev 分支克隆
- 基于 dev 分支创建 release 分支进行测试
- 测试中若存在 bug 需要修复,则直接由开发者在 release 分支修复并提交,修复完成之后合并到 dev 分支
1.1.3 dev(主开发分支)
- 主开发分支,基于 master 分支克隆
- 该分支为只读分支,只能从其他分支(feature/hotfix)合并,不能直接在此分支上进行修改
- feature 功能分支开发完成时,合并到 dev 分支
1.1.4 feature (功能开发分支)
- 功能开发分支,基于 dev 分支克隆
- 开发新功能时,需要从 dev 分支拉取 feature 分支,分支命名为 feature-功能名称/模块名称
- 开发完成后,将代码合并到 dev 分支,并删除该分支
1.1.5 hotfix(bug 修复分支)
- 补丁分支,基于 master 分支克隆,主要用于对线上版本进行 bug 修复
- 命名为 hotfix-bug模块名称,修复完毕后合并到 dev 分支
- 属于临时分支,补丁修复上线后可删除该分支
1.2 分支保护
master 分支、test 分支、dev 分支只能通过 merge request 的方式合并,不可以直接 push 代码
2. commit 提交注释规范
type: message,注意中间使用 : 分割(后面带有一个空格),内容不超过 50 字
- fix ------ 修复某个 bug 的描述
- feat ------ 增加新功能
- refactor ------ 重构 ,不是新增功能,也不是修改bug代码变动
- test ------ 增加/修改测试示例代码
- style ------ 格式,不影响代码运行的变动
- chore ------ 构建过程或辅助工具的变动
- create ------ 初次创建项目时使用
- release ------ 发布新的版本时使用
- merge ------ 在解决代码冲突,合并分支时使用
/* bad */
fix: 修复一个大 BUG。
update: 更新代码。 // 表述不清楚。更新了什么代码,改变了什么功能?
添加搜索模块的单元测完。 // 没有写 type。
add: 更新 API 文档用户信息接口说明 // type 使用错误。
/* good */
fix: 修复登录邮箱格式验证错误的问题。
update: 优化 Button 组件样式。
test: 添加搜索模块的单元测完。
release: 发布 v0.1.12 版本。
remove: 移除多余的 console.log 代码。