使用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相关推荐

  1. git工程化 自动生成changeLog 发布版本

    git log 生成 changeLog 在进行git仓库的自动化管理时,发布前往往需要CI服务器自动生成 CHANGELOG.MD ,本文介绍如何自动changeLog.md自动生成的思路. 文章目 ...

  2. 自动生成 changelog.md,做一名有追求的工程师

    文章目录 commitlint + Husky 规范 git commit 日志 规范 commit 日志的好处 安装 & 配置 [commitlint](https://commitlint ...

  3. 使用git命令导出项目_git自动生成changelog及项目版本管理

    版本管理 1.version类别介绍 每个npm包中都有一个package.json文件,如果要发包的话,package.json中的version就是版本号了. version字段结构为:'0.0. ...

  4. 根据 commit message 自动生成 changelog

    前面和大家介绍了commitlint + Husky 规范 git commit 日志,提及了规范的 commit message 有助于团队其它人员 review,还可以有效的输出 CHANGELO ...

  5. react 项目根据git commit记录自动生成CHANGELOG.md文档

    前言 本文基于 "conventional-changelog": "^3.1.25" "conventional-changelog-cli&quo ...

  6. ubuntu commitizen安装配置、CHANGELOG自动生成

    Angular规范 git commit信息规范化可以带来很多好处,例如review信息明确.版本回退时能准确定位需要回退的点.release时自动生成CHANGELOG等,Angular规范本身也简 ...

  7. 自动生成Makefile的全过程详解

    automake/autoconf入门 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefil ...

  8. vue 打印出git提交信息_规范git项目提交并自动生成项目commit log

    commit message 是开发的日常操作, 好的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是在平时工作时,只依赖大致的开发规 ...

  9. git push被拒绝_规范git项目提交并自动生成项目commit log

    commit message 是开发的日常操作, 好的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是在平时工作时,只依赖大致的开发规 ...

最新文章

  1. LeetCode: 20. Valid Parentheses
  2. C++知识点37——拷贝构造函数
  3. java:BIO, NIO
  4. GDB调试:观察点(数据断点)【GDB调试】
  5. oracle 9i aix 迁移,Oracle 9i 在AIX上的安装 (转)
  6. Android4.0 以后不允许在主线程进行网络连接
  7. Python数据结构和算法
  8. Oracle 日常开发记录
  9. Runtime Message Forwarding
  10. hcfax2e伺服驱动器说明书_伺服电机说明书
  11. 哇嘎显示等待无服务器,vagaa搜索不到资源怎么回事?vagaa哇嘎搜索没反应的解决方法...
  12. 对于目标文件系统,文件过大怎么办
  13. Maya用样条线制作面片头发
  14. 攻防技术第一篇之-知彼(攻击手段)
  15. 高级计量经济学及stata应用 学习笔记③ 长面板
  16. 【7gyy】cdma无线通讯上使用的技术
  17. 微信公众平台注册与认证图文教程分享
  18. 系统等保指的是信息系统的安全保护等级
  19. 一次日歪了的渗透测试
  20. C语言:使用指针,封装一个函数, // 使输入的奇数从小到大排列,奇数排列完毕之后,再把偶数从大到小进行排列, // 最终输出整个

热门文章

  1. c语言之getchar函数输入字符
  2. MATLAB矩阵范数最小值
  3. CC3200 —— No.1 环境搭建(更新于2020年5月1日)
  4. 基于GPT模型的对话系统
  5. 微信小程序多个倒计时
  6. JAVA关于Calendar类的使用
  7. Marshmallow 库
  8. input实现文字超出省略号功能
  9. 2018-08-11 自学笔记
  10. Stay hungry, Stay foolish 的原义