如何为自己的项目生成changelog

news2025/1/21 22:08:25

背景

在github上看到人家的更新日志感觉很cool,怎么能给自己项目来一套呢

在这里插入图片描述

环境信息

tds@tdsdeMacBook-Pro demo-doc % node -v
v14.18.1
tds@tdsdeMacBook-Pro demo-doc % npm -v
6.14.15

硬件信息

  • 型号名称:MacBook Pro
  • 版本: 12.6.9
  • 芯片: Apple M1

编码实战

  • 因为我本地的node版本为14.18.1,可以使用standard-version
  • 生成日志需要提交记录符合 Angular 格式(或其他约定的格式)

规范化提交信息

使用其他规范化提交信息的工具也可以

安装规范化工具(详细安装流程和强制约束见参考资料),然后

npm install -g commitizen cz-conventional-changelog

为 commitizen 指定 Adapter.

全局模式下, 需要 ~/.czrc 配置文件, 为 commitizen 指定 Adapter.

echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

使用git cz提交代码

在这里插入图片描述

全局安装后报错
报错信息如下

PS C:\Users\sky\WebstormProjects\Demo\React\umi> echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
PS C:\Users\sky\WebstormProjects\Demo\React\umi> git cz
The config file at "C:\Users\sky\.czrc" contains invalid charset, expect utf8

解决方案
删除根目录下的.czrc,在vscode中新建.czrc文件,文件内容为{ "path": "cz-conventional-changelog" }

standard-version安装和设置

安装standard-version

npm i --save-dev standard-version

将脚本命令添加到我们的package.json

{
  ...
  "scripts": {
      "release": "standard-version",
      "release:dry": "standard-version --dry-run"
  }
  ...
}

修改standard-version配置.versionrc.js(非必要)

module.exports = {
  skip: {
    bump: false, // 跳过升级版本操作
    changelog: false, // 基于commits生成ChangeLog文档
    commit: false, // 提交一个commit,包含ChangeLog和版本变更的文件
    tag: false, // 跳过打tag操作
  },
  //types为Conventional Commits标准中定义,目前支持
  //https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional
  types: [
    { type: 'feat', section: '✨ Features | 新功能' },
    { type: 'fix', section: '🐛 Bug Fixes | Bug 修复' },
    { type: 'init', section: '🎉 Init | 初始化' },
    { type: 'docs', section: '✏️ Documentation | 文档' },
    { type: 'style', section: '💄 Styles | 风格' },
    { type: 'refactor', section: '♻️ Code Refactoring | 代码重构' },
    { type: 'perf', section: '⚡ Performance Improvements | 性能优化' },
    { type: 'test', section: '✅ Tests | 测试' },
    { type: 'revert', section: '⏪ Revert | 回退', hidden: true },
    { type: 'build', section: '📦‍ Build System | 打包构建' },
    { type: 'chore', section: '🚀 Chore | 构建/工程依赖/工具', hidden: true },
    { type: 'ci', section: '👷 Continuous Integration | CI 配置' },
  ],
};

生成日志

在按照规范规范提交代码后,运行如下命令:

npm run release

想要确认结果是否符合预期,可运行npm run release:dry进行测试

参考资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1837619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx反向代理动静分离和负载均衡

一.nginx 反向代理简要介绍 1.什么是反向代理 反向代理是一种服务器,在这种设置中,代理服务器接收客户端的请求,并将这些请求转发给一个或多个后端服务器(例如应用服务器、数据库服务器等)。然后,后端服务…

Transformer预测 | 基于Transformer+LSTM股票价格预测时间序列预测(Pytorch)

效果一览 基本介绍 股票行情是引导交易市场变化的一大重要因素,若能够掌握股票行情的走势,则对于个人和企业的投资都有巨大的帮助。然而,股票走势会受到多方因素的影响,因此难以从影响因素入手定量地进行衡量。但如今,借助于机器学习,可以通过搭建网络,学习一定规模的股…

Unity URP下通过相机让部分Render不受后处理渲染

我们有时候不想某些对象受到后处理影响,找到了这样一个决绝办法,通过增加一个Overlay相机只照射这个模型来实现,下面看看如何实现。 第一步 首先我们拖一个测试场景,有如下一些元素 一个盒子,以后后处理&#xff0c…

海思SS928/SD3403开发笔记1——使用串口调试开发板

该板子使用串口可以调试,下面是win11 调试 该板子步骤 1、给板子接入鼠标、键盘、usb转串口 2、下载SecureCRT,并科学使用 下载地址: 链接:https://pan.baidu.com/s/11dIkZVstvHQUhE8uS1YO0Q 提取码:vinv 3、安装c…

计算机毕业设计Python+Flask弹幕情感分析 B站视频数据可视化 B站爬虫 机器学习 深度学习 人工智能 NLP文本分类 数据可视化 大数据毕业设计

首先安装需要的python库, 安装完之后利用navicat导入数据库文件bili100.sql到mysql中, 再在pycharm编译器中连接mysql数据库,并在设置文件中将密码修改成你的数据库密码。最后运行app.py,打开链接,即可运行。 B站爬虫数…

Springboot整合Kafka消息队列服务实例

一、Kafka相关概念 1、关于Kafka的描述 Kafka是由Apache开源,具有分布式、分区的、多副本的、多订阅者,基于Zookeeper协调的分布式处理平台,由Scala和Java语言编写。通常用来搜集用户在应用服务中产生的动作日志数据,并高速的处…

创建Docker容器与外部机通信(独立IP的方式)

需求:希望外部可以直接通过不同IP地址访问宿主机上的Docker容器,而不需要端口映射(同一个IP不同的端口与外部通讯),这通常涉及到在宿主机的网络层面进行更高级的配置,比如使用IP伪装(IP masquer…

前端网站(二)-- 菜单页面【附源码直接可用】

菜单页面 开篇(请大家看完):此网站写给挚爱,后续页面还会慢慢更新,大家敬请期待~ ~ ~ 轻舟所编写这个前端框架的设计初衷,纯粹是为了哄对象开心。除此之外,并无其它任何用途或目的。 此前端框…

《系统架构设计师教程(第2版)》第11章-未来信息综合技术-04-边缘计算

文章目录 1. 概述1.1 简介1.2 三类落地形态1.2.1 云边缘1.2.2 边缘云1.2.3 云化网关 2. 边缘计算的特点2.1 联接性2.2 数据第一入口2.3 约束性2.4 分布性 3. 边云协同3.1 概述3.2 六种协同3.2.1 资源协同3.2.2 数据协同3.2.3 智能协同3.2.4 应用管理协同3.2.5 业务管理协同3.2.…

STM32单片机USART串口详解

文章目录 1. 通信接口概述 2. 串口通信 3. 硬件电路 4. 电平标准 5. 串口参数及时序 5.1 数据帧的组成 5.2 起始位 5.3 数据位 5.4 校验位 5.5 停止位 5.6 波特率 5.7 数据帧传输过程示例 6. 串口时序 7. USART概述 8. USART框图 9. USART基本结构 10. 数据帧…

Java | Leetcode Java题解之第146题LRU缓存

题目&#xff1a; 题解&#xff1a; public class LRUCache {class DLinkedNode {int key;int value;DLinkedNode prev;DLinkedNode next;public DLinkedNode() {}public DLinkedNode(int _key, int _value) {key _key; value _value;}}private Map<Integer, DLinkedNode…

UE4_材质_雨滴涟漪效果ripple effect_ben教程

学习笔记&#xff0c;不喜勿喷&#xff01;侵权立删&#xff0c;祝愿生活越来越好&#xff01; 雨水落下时会产生这些非常漂亮的同心环波纹&#xff0c;我们要做的第一件事是创建一个单个的圆环遮罩动画&#xff0c;我们希望环在开始的时候在中心很小&#xff0c;然后放大&…

45岁TVB女星惊爆与大15岁老公离婚

45岁的姚嘉妮今日被传媒爆出与结婚18年老公林祖辉离婚&#xff0c;她接受其他传媒访问时&#xff0c;指两人分开不涉及第三者&#xff0c;而一对子女亦会共同抚养&#xff0c;而更令人惊讶的是&#xff0c;两人已经离婚多年&#xff0c;女方形容大家现在关系为家人。 不过9年前…

MBR40100CT-ASEMI无人机专用MBR40100CT

编辑&#xff1a;ll MBR40100CT-ASEMI无人机专用MBR40100CT 型号&#xff1a;MBR40100CT 品牌&#xff1a;ASEMI 封装&#xff1a;TO-220 最大平均正向电流&#xff08;IF&#xff09;&#xff1a;40A 最大循环峰值反向电压&#xff08;VRRM&#xff09;&#xff1a;100V…

深入Node.js:实现网易云音乐数据自动化抓取

随着互联网技术的飞速发展&#xff0c;数据已成为企业和个人获取信息、洞察市场趋势的重要资源。音频数据&#xff0c;尤其是来自流行音乐平台如网易云音乐的数据&#xff0c;因其丰富的用户交互和内容多样性&#xff0c;成为研究用户行为和市场动态的宝贵资料。本文将深入探讨…

maven安装、配置与plugins报红的解决方法

maven安装与配置 1.在官网中下载maven 官网地址&#xff1a;https://maven.apache.org/ 2.解压maven压缩包 将maven解压到一个没有中文的文件夹中&#xff1a; 3.配置环境变量并验证 1、在设置中找到 “高级系统设置”&#xff0c;点击后再点击环境变量&#xff1a; 2、在 “系…

Arcgis导入excel出现的问题

我手动添加了object-id字段也没有用&#xff0c;然后再excel里面又添加了一行&#xff0c;关闭后打开还是不行&#xff0c;额案后在网上看到了一种方法&#xff0c;很有效&#xff0c;予以记录。 1、我的文件是csv格式&#xff0c; 先在excel里面另存为xlsx格式 2、转换工具里…

【植物大战僵尸】C语言教程

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

云徙科技助力竹叶青实现用户精细化运营,拉动全渠道销售额增长

竹叶青茶以其别具一格的风味与深厚的历史底蕴&#xff0c;一直被誉为茶中瑰宝。历经千年的传承与创新&#xff0c;竹叶青不仅坚守着茶叶品质的极致追求&#xff0c;更在数字化的浪潮中&#xff0c;率先打破传统&#xff0c;以科技力量赋能品牌&#xff0c;成为茶行业的领军者。…

深度剖析ElasticSearch分页原理与深分页问题|ES深分页问题|ES分页原理剖析

文章目录 ES分页|Paginate search resultsES深分页的问题一页获取数据量太大&#xff0c;报错分页深度太大&#xff0c;报错官方解释 其他解决方案Search after解决两个问题 有没有深分页查询的必要性&#xff1f;search after & PIT的使用方式1.创建pit2.首次查询3.之后的…