[TOC] #### 1. 前言 --- 每个人 git 的提交记录都有自己的风格和习惯,特别是多人协作开发的项目,如果没有一套完整的规范,则每个人的代码提交描述内容会很随意,质量参差不齐,会降低 log 的可读性和维护性。所以,需要有一套 git 提交规范,使得提交记录清晰明了,让人一看就能知道每次提交的目的。本文记录一种业界比较认可和常用的规范,来自 AngularJS 团队规范 #### 2. 提交规范 --- 提交描述信息格式: `<type>(<scope>): <subject>` **type: 操作类型** | 类型 | 描述 | | ------------ | ------------ | | add | 新增功能 | | update | 更新功能 | | delete | 删除功能 | | fix | 修复 BUG | | refactor | 代码重构 | | revert | 撤销上次commit | | style | 代码风格更改 | | docs | 修改文档相关内容 | **scope: 影响范围** 用于说明本次 commit 的影响范围,比如: 具体功能或模块,控制器层,业务层,模型层等,视项目不同而不同 ** subject: 简单描述** 本次 commit 的简单描述,一般不超过 50 个字符。推荐以动词开头: 新增,修改,设置撤销等等 **规范的提交信息示例:** ``` add(用户模块):新增用户编辑个人资料功能 update(用户模块):修改用户编辑个人资料不需要上传头像 delete(购物车模块):删除购物车批量删除商品功能 fix(购物车模块):修复购物车商品数量可以为负数 refactor(全部):初始化系统架构 revert(用户模块):撤销修改用户编辑个人资料不需要上传头 style(会员中心):格式化代码 docs(api):更新API文档 ``` #### 3. 多行提交内容 --- 多行提交内容模板,我经常使用的模板 ``` git commit -m "fix: 1、 2、 " ``` 在文本编辑器中写好准备执行的提交命令,复制粘贴到命令行中执行即可,如下所示: ``` git commit -m "fix:用户模块、购物车模块 1、修复用户无法注册功能 2、修复购物车商品批量删除报错问题 3、修复积分商城支付成功后订单状态没有改变问题 " ```