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一般包括三部分:HeaderBodyFooter

  • 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时可以快速明白代码用意
posted @ 2018-09-27 22:20  MountainC44  阅读(2254)  评论(0编辑  收藏  举报