本文档使用前端框架Angular
的仓库提交规范。
- 为了更好的管理项目,提高项目的可维护性。
- 为了方便项目的迭代和版本管理。
- 为了更好的管理团队成员的工作。
- 为了保证代码的书写质量。
master
分支:主分支,用于发布正式版本,只能从develop
分支合并。develop
分支:开发分支,用于日常开发,只能从feature
分支合并。
- 提交信息的格式:
<type>(<scope>): <subject>
- 提交信息的类型:
feat
、fix
、docs
、style
、refactor
、test
、chore
、revert
。 - 提交信息的范围:
<scope>
用于说明提交的影响范围,比如<scope>
可以是component
、directive
、service
、model
、view
、controller
、module
、route
、config
、directive
、filter
、template
、style
、build
、ci
、docs
、perf
、refactor
、test
、tool
、vendor
等。 - 提交信息的主题:
<subject>
是提交信息的简短描述,不超过50个字符。 - 提交信息的主体:
<body>
是提交信息的详细描述,可以分为多行,每行不超过72个字符。 - 提交信息的结尾:
<footer>
是提交信息的结尾,可以分为多行,每行不超过72个字符。
# feat: 新增了一个功能
# fix: 修复了一个bug
# docs: 修改了文档
# style: 修改了代码格式
# refactor: 重构了代码
# test: 增加了测试
# chore: 修改了构建流程、或者增删了依赖库、工具等
# revert: 撤销了上一次的提交
# feat(component): 新增了一个组件
# fix(directive): 修复了一个指令
# docs(service): 修改了服务的文档
# style(model): 修改了模型的代码格式
# refactor(view): 重构了视图
# test(controller): 增加了控制器的测试
# chore(module): 修改了模块的构建流程
# revert(route): 撤销了路由的上一次的提交
# feat(component): 新增了一个组件
<type>(<scope>): <subject>
# 空一行
<body>
# 空一行
<footer>
<type>
和<subject>
是必需的,<body>
和<footer>
是可选的。- 一般情况下我们只需要写
<type>
、<scope>
和<subject>
。 - 如果
<type>
是feat
、fix
、docs
、style
、refactor
、test
、chore
、revert
中的任意一个,那么<scope>
是必需的。 - [强制]每次提交必须有
type
和subject
,非docs
、style
其余类型必须包含scope
。
示例:新增了一个邮件工具类
feat(utils): 新增了一个邮件工具类
or
feat(tool): 新增了一个邮件工具类
or
feat(工具类): 新增了一个邮件工具类
示例:整理了一下代码格式
style: 整理了一下代码格式
注:style
类型不需要scope
。
- 在每次提交之前,先从
develop
分支拉取最新代码,然后再合并到develop
分支。 - 如果是改动之前的提交,一定要立即提交,不要等到一次性提交,且提交需要标识
revert
。 - 如果是新增功能,一定要先提交到
develop
分支,然后再合并到master
分支。 - 核心功能的提交,一定要写明
type
和scope
,非核心功能的提交,一定要写明type
。 - 多提交、多合并、多拉取,保证代码的最新性。