Git Commit 规范以及emoji 使用指南
Git Commit 规范以及emoji 使用指南
Git版本规范
分支
master分支为主分支(保护分支),不能直接在master上进行修改代码和提交develop分支为测试分支,所以开发完成需要提交测试的功能合并到该分支feature分支为开发分支,大家根据不同需求创建独立的功能分支,开发完成后合并到develop分支fix分支为bug修复分支,需要根据实际情况对已发布的版本进行漏洞修复
Tag
采用三段式,v版本.里程碑.序号,如v1.2.1
- 架构升级或架构重大调整,修改第2位
- 新功能上线或者模块大的调整,修改第2位
- bug修复上线,修改第3位
changelog
- 版本正式发布后,需要生产changelog文档,便于后续问题追溯
commit message规范
Commit message一般包括三部分:
Header、Body和Footer
Header
-
type(scope):subject
-
type:用于说明commit的类别,规定为如下几种- feat:新增功能;
- fix:修复bug;
- docs:修改文档;
- refactor:代码重构,未新增任何功能和修复任何bug;
- build:改变构建流程,新增依赖库、工具等(例如webpack修改);
- style:仅仅修改了空格、缩进等,不改变代码逻辑;
- perf:改善性能和体现的修改;
- chore:非src和test的修改;
- test:测试用例的修改;
- ci:自动化流程配置修改;
- revert:回滚到上一个版本;
-
scope:【可选】用于说明commit的影响范围 -
subject:commit的简要说明,尽量简短
Body
- 对本次commit的详细描述,可分多行
尾部(Footer)
- 不兼容变动:需要描述相关信息
- 关闭指定Issue:输入Issue信息
git commit中使用emoji
-
emoji规范格式
git commit 时,提交信息遵循以下格式:
:emoji1: :emoji2: 不超过 50 个字的摘要,首字母大写,使用祈使语气,句末不要加句号
提交信息主体
引用相关 issue 或 PR 编号 <#110>
初次提交示例:
git commit -m ":tada: Initialize Repo"
-
emoji 指南
| emoji | emoji 代码 | commit 说明 |
|---|---|---|
| 🎉 (庆祝) | :tada: |
初次提交 |
| ✨ (火花) | :sparkles: |
引入新功能 |
| 🔖 (书签) | :bookmark: |
发行/版本标签 |
| 🐛 (bug) | :bug: |
修复 bug |
| 🚑 (急救车) | :ambulance: |
重要补丁 |
| 🌐 (地球) | :globe_with_meridians: |
国际化与本地化 |
| 💄 (口红) | :lipstick: |
更新 UI 和样式文件 |
| 🚨 (警车灯) | :rotating_light: |
移除 linter 警告 |
| 🔧 (扳手) | :wrench: |
修改配置文件 |
| ➕ (加号) | :heavy_plus_sign: |
增加一个依赖 |
| ➖ (减号) | :heavy_minus_sign: |
减少一个依赖 |
| ⬆️ (上升箭头) | :arrow_up: |
升级依赖 |
| ⬇️ (下降箭头) | :arrow_down: |
降级依赖 |
| ⚡ (闪电) 🐎 (赛马) |
:zap::racehorse: |
提升性能 |
| 📈 (上升趋势图) | :chart_with_upwards_trend: |
添加分析或跟踪代码 |
| 🚀 (火箭) | :rocket: |
部署功能 |
| ✅ (白色复选框) | :white_check_mark: |
增加测试 |
| 📝 (备忘录) | :memo: |
撰写文档 |
| 🔨 (锤子) | :hammer: |
重大重构 |
| 🎨 (调色板) | :art: |
改进代码结构/代码格式 |
| 🔥 (火焰) | :fire: |
移除代码或文件 |
| ✏️ (铅笔) | :pencil2: |
修复 typo |
| 🚧 (施工) | :construction: |
工作进行中 |
| 👷 (工人) | :construction_worker: |
添加 CI 构建系统 |
| 💚 (绿心) | :green_heart: |
修复 CI 构建问题 |
| 🔒 (锁) | :lock: |
修复安全问题 |
| 🐳 (鲸鱼) | :whale: |
Docker 相关工作 |
| 🍎 (苹果) | :apple: |
修复 macOS 下的问题 |
| 🐧 (企鹅) | :penguin: |
修复 Linux 下的问题 |
| 🏁 (旗帜) | :checked_flag: |
修复 Windows 下的问题 |
案例
-
使用commit message规范
-
使用commit emoji规范
Git Commit 优点
- 统一团队Git Commit标准,便于后续代码review、版本发布、自动化生成change log
- 可以提供更多更有效的历史信息,方便快速预览以及配合cherry-pick快速合并代码
- 团队其他成员进行类
git blame时可以快速明白代码用意

浙公网安备 33010602011771号