前言
Git 是我们日常工作中使用最为广泛的分布式版本代码控制系统,因此在我们的实际工作中,git commit 代码提交规范能够让每一次代码提交都变得有据可循,方便后续的代码审查、问题追踪和版本管理。同时,规范的提交信息也能够为自动化工具提供便利,如生成变更日志、自动化部署等。
git commit 规范写法示例
首先我们一起来看看行业统一认可且标准的 angular 项目的 git commit 规范写法。


基本格式
首先一个规范的 git commit message 通常包含 Header、Body 和 Footer 三部分,各部分之间使用空行分隔。
<header>
// 空一行
<body>
// 空一行
<footer>
Header 必填
描述提交类型和简短说明。格式为:<类型>(<作用域>): <主题>(<type>(<scope>): <subject>)。
- 类型(Type): 必填,指明本次提交的目的,如 feat 表示新开发的功能(feature)、fix 表示修复 bug、refactor 表示代码重构等。
- 作用域(Scope): 可选,描述修改的影响范围,如模块名、功能名等,视项目不同而不同。
- 主题(Subject): 必填,是 commit 简明扼要的提交描述。长度建议不超过 50 个字符。
feat(payment): 微信支付功能集成
Body 可选
详细说明本次 commit 修改的内容。使用空行分隔段落,保持可读性。
- 新增微信支付SDK依赖
- 实现支付结果回调处理
- 添加支付相关的单元测试
Footer 可选
主要用于关联 Issue、描述破坏性变更(BREAKING CHANGE)等。
Closes #889
BREAKING CHANGE: 旧版支付回调接口已废弃,需迁移至 /api/v2/callback
实际工作常用的 git commit 规范写法
其实在实际开发工作中很多时候我们主要关注和使用的是 git commit message 的 Header 部分。Header 通常包含了提交的类型、作用域和简短的主题描述,这些信息对于快速了解每次提交的内容和目的已经足够。
描述提交类型和简短说明。格式为:<类型>(<作用域>): <主题>。
格式: type(scope) : subject
常用的提交类型包括
提交类型 | 描述 | 示例 |
---|---|---|
feat | 新功能增加(feature) | feat: add user login feature |
fix | 修复BUG | fix: correct user authentication |
refactor | 代码重构(既不是新增功能,也不是修复 Bug) | refactor: simplify user validation logic |
docs | 文档/注释 | docs: update API documentation |
style | 代码风格相关无影响运行结果的 | style: format code with prettier |
test | 测试相关 | test: add unit tests for login feature |
build | 影响构建系统或外部依赖的更改(例如:gulp,broccoli,npm) | build: update webpack config |
revert | 代码撤销修改 | revert: revert commit 12345abc |
ci | 持续集成的配置文件和脚本的变动(例如:Travis,Circle,BrowserStack,SauceLabs) | ci: update Travis configuration |
chore | 依赖更新/脚手架配置修改等 | chore: upgrade React to the latest version |
perf | 性能优化 | perf(core): optimize virtual DOM diffing algorithm |