项目开发 owner 会把项目分支划分为 master,dev,test 和 preprod,这 4 个基础分支,只有 owner 可以直接进行代码操作,其他开发者,需以 mr 的方式来合到对应的分支上,更新代码
项目开发 owner 会根据功能需求基于 dev 新建功能分支 fe 和 bugfix 分支 fix,这个两种类型的分支可以直接进行代码操作的权限可由 owner 根据实际情况决定
本地分支可以 checkout 到 fe/xxx 直接开发 更新远程代码,可以按照 「多人协作开发之更新本地代码」 的方式更新,也可以直接使用 git pull 更新代码 然后按照流程去创建 mr 即可,创建 mr 的时候,有可能出现 dev 分支有新的更新,fe/xxx 落后了,即需要按照 「多人协作开发之更新本地代码」的方式更新,但注意的是此时的 rebase 的远程分支为 dev 了
本地新建自己的功能分支,举个栗子:/xxx,命名规则:{开发者名字拼音缩写}/xxx 一顿操作后,要提交代码了 本地提交 commit,commit message 请按「如何提交规范的 commit message」的规范书写
基于 commitlint 所定的规则统一 commit message
type(optional scopes): [optional taskId] subject // tips: 注意空格
场景说明 Commit Message 英文举例 Commit Message 中文举例 备注
type | 使用解释 |
---|---|
feat | 增加新功能 |
fix | 修复 bug |
chore | 其他修改,比如增加依赖库、工具 或者 一些业务逻辑的调整等 |
merge | 多用于版本跨度较大时,手动触发 git merge,解决冲突后的提交,必要时需要注明影响范围 |
style | 代码格式修改,注意不是 css 样式的修改 |
docs | 文档修改 |
ci | 持续集成修改 |
build | 编译相关的修改,例如发布版本、对项目构建或者依赖的改动 |
perf | 优化相关,比如提升性能、体验等 |
refactor | 代码重构 |
revert | 撤销某次提交,回滚到某个版本 |
test | 测试用例 |
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [
2,
'always',
[
'feat',
'fix',
'chore',
'merge',
'style',
'docs',
'ci',
'build',
'perf',
'refactor',
'revert',
'test',
],
],
'header-max-length': [2, 'always', 150],
},
}