zoukankan      html  css  js  c++  java
  • 规范提交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 日志文件示例

  • 相关阅读:
    在X++中使用IoC/DI模式应对不断变化的客户需求
    Predicate<T>与Func<T, bool>泛型委托
    Windows Live Writer插件:在WLW中插入语法高亮代码
    学习C#和.NET的资源
    C#中事件的动态调用
    2008年全国软件工程大会论文集
    C#基础:接口(二)
    【转载】"变化"、"复用"、"抽象"、"稳定" 影响着软件设计模式,架构,开发方法
    【领域驱动设计】.NET实践:实体、值对象和数据传输对象
    RSS订阅之基本使用
  • 原文地址:https://www.cnblogs.com/webljl/p/15429179.html
Copyright © 2011-2022 走看看