序号 | 名称 | 说明 |
---|---|---|
1 | feat | 新功能(feature) |
2 | chore | 构建过程或辅助工具的变动 |
3 | fix | 修补bug |
4 | docs | 文档(documentation) |
5 | refactor | 重构(即不是新增功能,也不是修改bug的代码变动) |
6 | test | 增加测试 |
7 | style | 格式(不影响代码运行的变动) |
8 | perf | 提升性能的代码改动 |
9 | revert | 撤销以前的commit |
10 | ci | 持续集成 |
11 | build | 构建程序 |
12 | continue | 继续开发某个功能 |
-
每次提交,Commit message 都包括三个部分:header,body 和 footer。
-
Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。
-
Body 部分是对本次 commit 的详细描述,可以分成多行。
-
Footer 部分只用于不兼容变动和关闭 Issue
- 不兼容变动
- 如果当前代码与上一个版本不兼容,则 Footer 部分以 BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。
- 关闭 Issue
- 如果当前 commit 针对某个 issue,那么可以在 Footer 部分关闭这个 issue 。
- 不兼容变动
<type>[必须](<scope>)[可选]: <subject>[可选]
<BLANK LINE>[有 body 须添加]
<body>[可选]
<BLANK LINE>[有 footer 须添加]
<footer>[可选]
# Bug修复
fix(Promise function): fix Promise's function
# 空行
[Bug #2873942]
# 撤销
revert: feat: add new func...
# 空行
Description......
# 新功能
feat(userManagement): develop user management
# 更新文档
docs(userManagement): update userManagement's doc
# Revert
还有一种特殊情况,如果当前 commit 用于撤销以前的 commit,则必须以revert:开头,后面跟着被撤销 Commit 的 Header。
revert: feat(pencil): add 'graphiteWidth' option
This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
Body部分的格式是固定的,必须写成This reverts commit <hash>.,其中的hash是被撤销 commit 的 SHA 标识符。
# 关闭 Issue
如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue 。
Closes #234
emoji | emoji 代码 | commit 说明 |
---|---|---|
🎨 (调色板) | :art: |
改进代码结构/代码格式 |
⚡ (闪电) 🐎 (赛马) |
:zap: :racehorse: |
提升性能 |
🔥 (火焰) | :fire: |
移除代码或文件 |
🐛 (bug) | :bug: |
修复 bug |
🚑 (急救车) | :ambulance: |
重要补丁 |
✨ (火花) | :sparkles: |
引入新功能 |
📝 (备忘录) | :memo: |
撰写文档 |
🚀 (火箭) | :rocket: |
部署功能 |
💄 (口红) | :lipstick: |
更新 UI 和样式文件 |
🎉 (庆祝) | :tada: |
初次提交 |
✅ (白色复选框) | :white_check_mark: |
增加测试 |
🔒 (锁) | :lock: |
修复安全问题 |
🍎 (苹果) | :apple: |
修复 macOS 下的问题 |
🐧 (企鹅) | :penguin: |
修复 Linux 下的问题 |
🏁 (旗帜) | :checked_flag: |
修复 Windows 下的问题 |
🔖 (书签) | :bookmark: |
发行/版本标签 |
🚨 (警车灯) | :rotating_light: |
移除 linter 警告 |
🚧 (施工) | :construction: |
工作进行中 |
💚 (绿心) | :green_heart: |
修复 CI 构建问题 |
⬇️ (下降箭头) | :arrow_down: |
降级依赖 |
⬆️ (上升箭头) | :arrow_up: |
升级依赖 |
👷 (工人) | :construction_worker: |
添加 CI 构建系统 |
📈 (上升趋势图) | :chart_with_upwards_trend: |
添加分析或跟踪代码 |
🔨 (锤子) | :hammer: |
重大重构 |
➖ (减号) | :heavy_minus_sign: |
减少一个依赖 |
🐳 (鲸鱼) | :whale: |
Docker 相关工作 |
➕ (加号) | :heavy_plus_sign: |
增加一个依赖 |
🔧 (扳手) | :wrench: |
修改配置文件 |
🌐 (地球) | :globe_with_meridians: |
国际化与本地化 |
✏️ (铅笔) | :pencil2: |
修复 typo |
git commit -m ":tada: Initialize Repo"
对于一个给定的版本号 MAJOR.MINOR.PATCH (主、次、补丁),其变化的规律是:
MAJOR version (主版本) 会在 API 发生不可向下兼容的改变时增大。
MINOR version (次版本) 会在有向下兼容的新功能加入时增大。
PATCH version (补丁版本) 会在bug以向下兼容的方式被修复时增大。
我们还可以根据预发布、构建元数据 (build metadata) 的实际需求,在 MAJOR.MINOR.PATCH 格式之上扩展出额外的标记。
V1.0.1
V0.1.1-alpha1