1.代码提交 Commit message格式要求
feat: 需求修改描述
#fix: 缺陷修改描述
#docs: 文档修改描述
#style: 代码风格修改描述
#refactor: 重构修改描述
#test: 测试用例修改
#修改描述: 不超过36个字每行. 可以中文描述, 主要说明修改了什么,涉及方案的简要描述方案
...
BREAKING CHANGE:
对外变更标题: #建议和本次提交的标题一致,方便工具导出回溯
变更内容...
Close 修改issue
注:
- 对外变更描述在BREAKING CHANGE的下一行开始, BREAKING CHANGE下的第一行为变更标题,再下一行描述具体变更, 以: Close issue 结束变更描述。
- 如果不涉及对外变更,删除BREAKING CHANGE: 这一行即可。```
示例:
feat: 新增M核添加维测, 任务栈dump能力
方案描述:
1, 关全局中断
2, 获取指定任务的水线位置, 按水线大小分配拷贝栈信息的内存空间.
3, 拷贝从水线位置到栈底的全部内容
4, 开全局中断
5, 按格式, 打印栈内容, 在sp位置用*标注
6, 释放分配的内存
BREAKING CHANGE:
新增M核添加维测, 任务栈dump能力对外变更描述:
新增API:
VOID LOS_TaskStackDump(UINT32 taskID);
Close #I50KLG
2.根据commit message 导出Changelog指导(只提交代码,不涉及该章节)
2.1 commit message相关工具安装
2.1.1 npm安装
sudo apt install npm sudo npm install -g n sudo n latest sudo npm install -g npm npm -i
2.1.2 commit message编写工具
Commitizen是一个撰写合格 commit message 的工具。安装命令如下:
$ npm install -g commitizen
2.1.3 commit message校验工具
validate-commit-msg 用于检查 Node 项目的 Commit message 是否符合格式。
$ sudo npm install --save-dev validate-commit-msg $ node_modules/.bin/validate-commit-msg "$(git log -1 --pretty=%B)"
2.1.4 commit message转换为changelog工具
如果你的所有 Commit 都符合 Angular 格式,那么发布新版本时, Change log 就可以用脚本自动生成。
生成的文档包括以下三个部分。
- New features
- Bug fixes
- Breaking changes.
每个部分都会罗列相关的 commit ,并且有指向这些 commit 的链接。当然,生成的文档允许手动修改,所以发布前,你还可以添加其他内容。
conventional-changelog 就是生成 Change log 的工具,安装命令:
$ npm install -g conventional-changelog-cli
2.2 生成CHANGELOG
- 初始化仓库:
$ cd my-project $ commitizen init cz-conventional-changelog --save --save-exact
- 生成CHANGELOG
$ conventional-changelog -p angular -i CHANGELOG.md -s -w
上面命令不会覆盖以前的 Change log,只会在CHANGELOG.md
的头部加上自从上次发布以来的变动。
如果你想生成所有发布的 Change log,要改为运行下面的命令。
$ conventional-changelog -p angular -i CHANGELOG.md -s -w -r 0
为了方便使用,可以将其写入package.json
的scripts
字段。
{ "scripts": { "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -w" } }
以后,直接运行下面的命令即可。
$ npm run changelog