目的

多人协作项目中规范化commit,提取关键信息。

Angular 规范

1
2
3
4
5
<type, 必填>(<scope,可省略>): <subject,必填>
// 空一行
<body,可省略>
// 空一行
<footer,可省略>

标识 - type

CHANGELOG 标识名说明是否会出现在CHANGELOG中
feat新功能(feature)
fix修补bug
docs文档(documentation)自行决定
style格式(不影响代码运行的变动)自行决定
refactor重构(即不是新增功能,也不是修改bug的代码变动)自行决定
test增加测试自行决定
chore构建过程或辅助工具的变动自行决定

scope

scope用于说明 commit 影响的范围,比如某个模块、某个功能。

subject

subject是 commit 目的的简短描述,不超过50个字符。

body

body部分是对本次 commit 的详细描述,可以分成多行。

footer部分只用于两种情况:不兼容变动、关闭 Issue。

利用conventional-changelog-cli

  1. 安装
    1
    npm install -g conventional-changelog-cli
  2. package.json增加
    1
    2
    3
    4
    "scripts": {
    ...
    "version": "conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md"
    },
  3. 发版前利用npm version升版本号
    1
    2
    3
    4
    5
    6
    7
    8
    # From 1.0.0 -> 1.0.1
    npm version patch

    # From 1.0.1 -> 1.1.0
    npm version minor

    # From 1.1.0 -> 2.0.0
    npm version major
    升版本并提交
    1
    npm version minor -m 'docs(CHANGELOG): [tag]'
    【参考】

前端 CHANGELOG 生成指南

终于可以不用手动去改npm版本号了!

感谢您的阅读,本文由 Astar 版权所有。如若转载,请注明出处:Astar(http://example.com/2022/01/17/%E5%89%8D%E7%AB%AF%E7%94%9F%E6%88%90CHANGELOG%E6%8C%87%E5%8D%97/
从常见案例探索JS正则表达式用法
图片懒加载的两种实现方案