Git约定式提交,让提交信息更直观易读

461 阅读2分钟

目的:使用git进行提交的时候,如何书写提交信息可以更规范,更易读困扰了我很久。

参考链接:

Git约定式提交

  1. 概述

    约定式提交规范是一种基于提交信息的轻量级约定。 它提供了一组简单规则来创建清晰的提交历史

  2. 提交信息格式

    <类型>[可选 范围]: <描述>
    
    [可选 正文]
    
    [可选 脚注]
    
  3. 提交类型

    Commit TypeTitleDescriptionEmoji
    featFeatures新增功能
    fixBug Fixes修复Bug🐛
    docsDocumentation修改文档📚
    styleStyles不影响代码含义的更改(空格、格式、缺少分号等)💎
    refactorCode Refactoring代码重构,无新功能或修复Bug📦
    perfPerformance Improvements优化相关,比如提升性能,体验🚀
    testTests增加测试用例,包括单元测试,集成测试等🚨
    buildBuilds影响构建系统或外部依赖项的更改(示例范围:gulp、broccoli、npm)🛠
    ciContinuous Integrations对我们的 CI 配置文件和脚本的更改(示例范围:Travis、Circle、BrowserStack、SauceLabs)⚙️
    choreChores改变构建流程,增加依赖库,工具等♻️
    revertReverts回滚到上一个版本🗑
  4. 脚注

    在正文结束的一个空行之后,可以编写一行或多行脚注。每行脚注都必须包含一个token,后面紧跟 :<space> 或 <space># 作为分隔符,后面再紧跟令牌的值

    破坏性变更必须在提交信息中标记出来,要么在 <类型>(范围) 前缀中标记,要么作为脚注的一项。

    包含在脚注中时,破坏性变更必须包含大写的文本 BREAKING CHANGE,后面紧跟着冒号、空格,然后是描述,例如: BREAKING CHANGE: environment variables now take precedence over config files 。

    包含在 <类型>(范围) 前缀时,破坏性变更必须通过把 ! 直接放在 : 前面标记出来。 如果使用了 !,那么脚注中可以不写 BREAKING CHANGE:, 同时提交信息的描述中应该用来描述破坏性变更。

  5. 范例

    fix: prevent racing of requests
    
    Introduce a request id and a reference to latest request. Dismiss
    incoming responses other than from latest request.
    
    Remove timeouts which were used to mitigate the racing issue but are
    obsolete now.
    
    Reviewed-by: william    
    Co-authored-by: user1,user2