自动生成Changelog
使用release-please生成Changelog
- 以前可能很多人使用standard-version来生成对应的Changelog,现在已经不推荐使用这个库了,这个作者推荐使用 release-please库来自动生成Changelog。
- 使用release-please最简单的方式就是利用GitHub action,当你push的时候生成对应的Changelog,官方的仓库的文档里也有对应的说明,当然也可以使用命令行的方法来生成对应的Changelog,感兴趣的同学可以自行查阅
- release-please会根据你的commit来生成对应的Changelog,所以commit一定要规范,否则将不能起到对应的效果
缺点
- 我自己有尝试使用release-please配合GitHub Action来生成对应的Changelog,它是根据你的commit来进行对应的版本的更改的,一般修复bug,他会修改最后一个版本号,
fix: a bug
,如果有一个新特性feat: a new feat
,那么他会升级中间的版本号,如果有什么破坏性的更改,那么他会升级第一个版本号,例如feat!: a break change
- 虽然这样子听起来也挺合理,但是有时候我们有一些小的新特性,但这时候并不想升级中间的那个版本号,而是只想
patch
,升级最后一个版本号,使用release-please就很难满足我们的需求,而且release-please是自动升级版本号,但是我们大多数情况下还是想要将版本号控制在自己的手中,自己来决定版本的升级,于是我使用了antfu大神的changelogithub
使用changelogithub生成Changelog
changelogithub使用起来也是非常滴简单,也是基于GitHub Action来实现对应的Changelog的生成,当你push一个tag的时候将触发workflow,根据你push的tag的版本号来生成对应的Changelog,这样就将版本的控制掌握在自己的手中了
# .github/workflows/release.ymlname: Releaseon:push:tags:- 'v*'jobs:release:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v3with:fetch-depth: 0- uses: actions/setup-node@v3with:node-version: 16.x- run: npx changelogithubenv:GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
自己的理解
- 现在一般会将fix,和feat或者Breaking Changes部分的内容生成Changelog,因为这些内容才是需要用户知道的东西,而其他的一些东西的修改,比如说
docs: xxx
,style:xxx
等commit则不需要生成对应的Changelog,现在大多数的库也是这样做的 - 想要自动生成Changelog,首先必须得有规范的commit,可以使用commitizen配和commitlint,husky来对规范项目的commit
- 建议使用
changelogithub
来自动生成Changelog,将版本的更改控制在自己手中
自动生成Changelog相关推荐
- git工程化 自动生成changeLog 发布版本
git log 生成 changeLog 在进行git仓库的自动化管理时,发布前往往需要CI服务器自动生成 CHANGELOG.MD ,本文介绍如何自动changeLog.md自动生成的思路. 文章目 ...
- 自动生成 changelog.md,做一名有追求的工程师
文章目录 commitlint + Husky 规范 git commit 日志 规范 commit 日志的好处 安装 & 配置 [commitlint](https://commitlint ...
- 使用git命令导出项目_git自动生成changelog及项目版本管理
版本管理 1.version类别介绍 每个npm包中都有一个package.json文件,如果要发包的话,package.json中的version就是版本号了. version字段结构为:'0.0. ...
- 根据 commit message 自动生成 changelog
前面和大家介绍了commitlint + Husky 规范 git commit 日志,提及了规范的 commit message 有助于团队其它人员 review,还可以有效的输出 CHANGELO ...
- react 项目根据git commit记录自动生成CHANGELOG.md文档
前言 本文基于 "conventional-changelog": "^3.1.25" "conventional-changelog-cli&quo ...
- ubuntu commitizen安装配置、CHANGELOG自动生成
Angular规范 git commit信息规范化可以带来很多好处,例如review信息明确.版本回退时能准确定位需要回退的点.release时自动生成CHANGELOG等,Angular规范本身也简 ...
- 自动生成Makefile的全过程详解
automake/autoconf入门 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefil ...
- vue 打印出git提交信息_规范git项目提交并自动生成项目commit log
commit message 是开发的日常操作, 好的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是在平时工作时,只依赖大致的开发规 ...
- git push被拒绝_规范git项目提交并自动生成项目commit log
commit message 是开发的日常操作, 好的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是在平时工作时,只依赖大致的开发规 ...
最新文章
- LeetCode: 20. Valid Parentheses
- C++知识点37——拷贝构造函数
- java:BIO, NIO
- GDB调试:观察点(数据断点)【GDB调试】
- oracle 9i aix 迁移,Oracle 9i 在AIX上的安装 (转)
- Android4.0 以后不允许在主线程进行网络连接
- Python数据结构和算法
- Oracle 日常开发记录
- Runtime Message Forwarding
- hcfax2e伺服驱动器说明书_伺服电机说明书
- 哇嘎显示等待无服务器,vagaa搜索不到资源怎么回事?vagaa哇嘎搜索没反应的解决方法...
- 对于目标文件系统,文件过大怎么办
- Maya用样条线制作面片头发
- 攻防技术第一篇之-知彼(攻击手段)
- 高级计量经济学及stata应用 学习笔记③ 长面板
- 【7gyy】cdma无线通讯上使用的技术
- 微信公众平台注册与认证图文教程分享
- 系统等保指的是信息系统的安全保护等级
- 一次日歪了的渗透测试
- C语言:使用指针,封装一个函数, // 使输入的奇数从小到大排列,奇数排列完毕之后,再把偶数从大到小进行排列, // 最终输出整个