前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编写优雅的 commit message 并自动生成 changelog

编写优雅的 commit message 并自动生成 changelog

作者头像
木子星兮
发布2020-09-07 15:00:05
2.4K1
发布2020-09-07 15:00:05
举报
文章被收录于专栏:前端小码农前端小码农

commit message 规范

http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html

自动校验 commit message

参考:https://github.com/conventional-changelog/commitlint

  1. 安装依赖npm install -D @commitlint/{config-conventional,cli} husky
  2. 在 package.json 添加 commitlint 配置和 git hook
代码语言:javascript
复制
"husky": {
  "hooks": {
    "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
  }
},
"commitlint": {
  "extends": [
    "@commitlint/config-conventional"
  ]
}
  1. 提交 commit 触发校验

通过交互界面生成符合规范的 commit message

  1. 安装依赖npm install -D commitizen cz-conventional-changelog
  2. 在 package.json 中新增一条 script
代码语言:javascript
复制
"scripts": {
  ...
  "commit": "git-cz"
}
  1. 在 package.json 添加 commitizen 配置
代码语言:javascript
复制
"config": {
  "commitizen": {
    "path": "node_modules/cz-conventional-changelog"
  }
}
  1. 执行git add .npm run commit

image

自动生成 changelog

参考:https://github.com/CookPete/auto-changelog

  1. 安装依赖npm install -D auto-changelog
  2. 创建配置文件 .auto-changelog
代码语言:javascript
复制
{
  "template": "CHANGELOG.template",
  "unreleased": true,
  "commitLimit": false
}
  1. 创建自定义 changelog 模板 CHANGELOG.template.**注意替换组名和仓库名**
代码语言:javascript
复制
# Changelog

{{#each releases}}
  ## [{{title}}]

  {{#commit-list commits heading='### Breaking Change' message='\[break\]'}}
    - {{subject}} [{{shorthash}}]({{href}})
  {{/commit-list}}

  {{#commit-list commits heading='### New Feature' message='feat: ' exclude='\[break\]'}}
    - {{subject}} [{{shorthash}}]({{href}})
  {{/commit-list}}

  {{#commit-list commits heading='### Bug Fix' message='fix: ' exclude='\[break\]'}}
    - {{subject}} [{{shorthash}}]({{href}})
  {{/commit-list}}
{{/each}}


  1. 在 package.json 中新增 script
代码语言:javascript
复制
"scripts": {
  ...
  "changelog": "auto-changelog",
  "version": "auto-changelog -p && git add CHANGELOG.md"
}
  1. 执行npm run changelog

执行npm version时会自动生成带所发布版本号的 changelog

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 牧码的星星 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • commit message 规范
  • 自动校验 commit message
  • 通过交互界面生成符合规范的 commit message
  • 自动生成 changelog
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档