您的位置:首页 > 其它

Git Commit 规范以及emoji 使用指南

2018-09-27 22:20 260 查看

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
      时可以快速明白代码用意
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: