Git Commit 规范
在团队协作中,Git 是最常用的版本控制工具之一,它的强大之处在于能够记录代码的版本变化,并且能够方便地在多个开发者之间共享代码。为了让团队中的每个成员都能够更好地了解代码的变化,以及方便地查找和回滚代码,我们需要遵守一定的 Git Commit 规范。【Git 指北 - 常用指令】
规范的好处:
- 增强可读性:规范的 Git Commit 提交记录能够使代码的变化更加明确和易读,团队成员可以更快速地了解代码的变化,提高沟通效率。
- 方便维护:规范的 Git Commit 提交记录使得回滚代码变得更加容易,同时也能够更加方便地进行代码审查和维护。
- 提高代码质量:良好的 Git Commit 规范能够促使开发者编写更加规范化的代码,减少不必要的代码重构和修改。
规范内容
一个规范的 Git Commit Message 通常包含一下内容:
| 1 | <type>(<scope>): <subject> | 
- 类型(type):用于说明 commit 的类别。
- 范围(scope):用于说明 commit 影响的范围,比如更改了哪个文件、哪个函数等。
- 主题(subject):简短描述本次 commit 的内容,不超过 50 个字符。
- 描述(body):对本次 commit 进行详细的描述,可以分成多行。
- 备注(footer):关联 issue 问题链接编号等;
| Type | 描述 | 
|---|---|
| feat | 新增特性 (feature) | 
| fix | 修复 Bug(bug fix) | 
| docs | 修改文档 (documentation) | 
| style | 代码格式修改(white-space, formatting, missing semi colons, etc) | 
| refactor | 代码重构(refactor) | 
| perf | 改善性能(A code change that improves performance) | 
| test | 测试(when adding missing tests) | 
| build | 变更项目构建或外部依赖(例如 scopes: webpack、gulp、npm 等) | 
| ci | 更改持续集成软件的配置文件和 package 中的 scripts 命令,例如 scopes: Travis, Circle 等 | 
| chore | 变更构建流程或辅助工具(比如更改测试环境) | 
| revert | 代码回退 | 
其中,类型和主题是必须的,其他选填;示例:
| 1 | feat(views): Add ErrorPage component | 
| 1 | feat(登录页): 增加 Google 登录方式 | 
commitizen 插件
为了更加方便地遵守 Git Commit 规范,我们可以使用 commitizen 插件。commitizen 是一个专门用于规范化 Git Commit 记录的工具,它可以在提交代码时帮助我们生成符合规范的 Git Commit 记录。
全局安装
安装
| 1 | npm install -g commitizen | 
初始化:选择 cz-conventional-changelog 这个预设初始化,它与我们前面介绍的 Git Commit 规范一致。
| 1 | commitizen init cz-conventional-changelog --save-dev --save-exact | 
使用:用 git cz 来代替 git commit 命令来提交代码。
| 1 | git cz | 
项目安装
安装:项目根目录下,安装命令。
| 1 | npm install commitizen -D | 
初始化:利用 npx 执行 commitizen 命令中使用 cz-conventional-changelog 预设,在项目中初始化;
| 1 | npx commitizen init cz-conventional-changelog --save-dev --save-exact | 
使用:用 npx cz 来代替 git commit 命令来提交代码。
| 1 | npx cz | 
扩展:可在
package.json的scripts中添加命令来npm run执行;
| 1 | { | 
提交代码;
| 1 | npm run commit | 
使用指南
执行 cz 命令提交代码时,commitizen 会在终端中发起如下会话,根据提示选择合适的type,填写scope、subject等;
| 1 | # 选择type,本次 commit 的类型; | 



