【Git小技巧】编写优雅的 commit message 并自动生成 changelog

前端下午茶

共 1921字,需浏览 4分钟

 ·

2020-09-06 03:58

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
"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
"scripts": {
  ...
  "commit""git-cz"
}
  1. 在 package.json 添加 commitizen 配置
"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
{
  "template""CHANGELOG.template",
  "unreleased"true,
  "commitLimit"false
}
  1. 创建自定义 changelog 模板 CHANGELOG.template.**注意替换组名和仓库名**
# 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
"scripts": {
  ...
  "changelog""auto-changelog",
  "version""auto-changelog -p && git add CHANGELOG.md"
}
  1. 执行npm run changelog

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


最后



如果你觉得这篇内容对你挺有启发,我想邀请你帮我三个小忙:

  1. 点个「在看」,让更多的人也能看到这篇内容(喜欢不点在看,都是耍流氓 -_-)

  2. 欢迎加我微信「qianyu443033099」拉你进技术群,长期交流学习...

  3. 关注公众号「前端下午茶」,持续为你推送精选好文,也可以加我为好友,随时聊骚。

点个在看支持我吧,转发就更好了


浏览 93
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报