• 规范提交git commitizen conventional-changelog-cli


    一、引言

    代码规范提交可以很好的保存代码修改日志,规范提交日志对于定位问题或代码回退具有极大意义。

    二、使用插件列表

    • commitizen
    • cz-conventional-changelog
    • conventional-changelog-cli

    1. commitizen 规范代码的提交

    1.1 npm仓库地址

    https://www.npmjs.com/package/commitizen

    Commitizen插件简介:使用Commitizen提交时,系统将提示您在提交时填写所有必需的提交字段。不需要再等到稍后git提交钩子函数来检测提交内容从而拒绝您的提交请求。

    1.2 使用

    1.2.1 安装插件 commitizen 

    npm install commitizen -D

    1.2.2 cz-conventional-changelog

    cz-conventional-changelog用来规范提交信息。

    npm install cz-conventional-changelog -D

    1.3 package.json 配置

    "config": {
        "commitizen": {
          "path": "./node_modules/cz-conventional-changelog"
        }
      }

    添加一个指令,如commit,参考配置如下图所示:

    1.4 说明

    当运行 npm run commit时,出现交互选项:

    (1)type

     说明:

    • feat: 新增一个功能
    • fix: 修复bug
    • docs: 仅仅修改了文档,比如README, CHANGELOG, CONTRIBUTE等等
    • style: 仅仅修改了空格、格式缩进等等,不改变代码逻辑
    • refactor: 代码重构,没有加新功能或者修复bug
    • perf: 优化相关,比如提升性能、体验
    • test: 测试用例,包括增加缺失用例或者修正测试用例

    (2)what is the scoped of this change? 

    本修改影响的是内容(范围)?可以填文件名

    (3)写一个简短的介绍

    (4)提供一个长的介绍

    (5)本修改是否实现了某个issues?

    以上交互截图:

     

    2、conventional-changelog-cli 生成提交日志

    conventional-changelog-cli:从git metadata生成变更日志。

    2.1 使用

    2.1.1 安装

    npm install -S conventional-changelog-cli

    2.1.2 在项目根目录下新建CHANGELOG.md

    2.1.3 package.json 添加指令

    "genlog": "conventional-changelog -p angular -i CHANGELOG.md -s"

    如:

     2.1.4 生成日志

    npm run genlog
    conventional-changelog-cli不会覆盖任何以前的变更日志。 新增的日志基于自上一个commit的"Feature", "Fix", "Performance Improvement" 或 "Breaking Changes".。

    2.1.5 首次执行

    如果这是您第一次使用此工具,并且想要生成所有以前的变更日志,则可以执行:

    conventional-changelog -p angular -i CHANGELOG.md -s -r 0

    2.1.6 日志文件示例

  • 相关阅读:
    【STL源码剖析读书笔记】【第6章】算法之inplace_merge算法
    Python学习 过程中零散知识点的总结
    Python 从零学起(纯基础) 笔记 (二)
    Python 从零学起(纯基础) 笔记(一)
    用select实现监控终端输入
    实现socket非阻塞设置
    exit(0)、exit(1)、exit(-1)的区别
    解决bind错误 bind: Address already in use
    UDP编程中client和server中使用recvfrom和sendto的区别
    linux安装zookeeper
  • 原文地址:https://www.cnblogs.com/mengfangui/p/12634845.html
Copyright © 2020-2023  润新知