react-components-docs/changelog使用方式.md

97 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2017-11-01 10:14:45 +08:00
# changelog使用方式
2017-10-31 17:54:54 +08:00
2017-10-31 19:21:19 +08:00
## 1、Commitizen
2017-10-31 17:54:54 +08:00
> Commitizen是一个格式化commit message的工具。
npm install -g commitizen
2017-11-02 11:32:16 +08:00
进入项目执行
2017-10-31 17:54:54 +08:00
commitizen init cz-conventional-changelog --save --save-exact
2017-12-13 16:24:01 +08:00
   
   如果你觉得进入每个项目都需要执行init命令那么可以使用下面命令来进行全局的init
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
2017-10-31 17:54:54 +08:00
>此操作会修改package.json文件。
>![](media/15093486333182/15094378630612.jpg)
git cz替换git commit命令
![](media/15093486333182/15094380852015.jpg)
2017-10-31 19:21:19 +08:00
## 2、conventional-changelog-cli
2017-10-31 17:54:54 +08:00
>就是生成 Change log 的工具。
npm install -g conventional-changelog-cli
cd my-project
2017-11-02 11:32:16 +08:00
conventional-changelog -p angular -i CHANGELOG.md -s -r 0
2017-10-31 17:54:54 +08:00
2017-11-02 11:32:16 +08:00
现在是配置在package.json中
>"scripts": {
>"changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
>}
2017-10-31 17:54:54 +08:00
2017-11-01 10:14:45 +08:00
## 3、命令截图
2017-10-31 17:54:54 +08:00
![](media/15093486333182/15094390880861.jpg)
2017-11-01 10:14:45 +08:00
## 4、效果截图
2017-10-31 17:54:54 +08:00
![](media/15093486333182/15094393010120.jpg)
2017-10-31 19:21:19 +08:00
## 注解
### 1.commit message 格式
2017-10-31 17:54:54 +08:00
commit message 主要包括三个部分Header、Body、Footer。
除 Header 外Body、Footer均为非必填项。
2017-10-31 19:21:19 +08:00
### 2.Header
2017-10-31 17:54:54 +08:00
Header 要求单行,其中包括 <type><scope><subject>三个部分。
2017-10-31 19:21:19 +08:00
### 3.type
2017-10-31 17:54:54 +08:00
用来标识 commit 的类型,总共有以下 11 个标识:
feat: 添加了一个新功能
fix: 修复了一个 bug
docs: 文档发生修改
style: 不影响代码运行的更改(空格,格式,缺少分号等)
refactor: 重构代码且不引进新的功能或修复 bug
perf: 代码优化
test: 添加或修改测试用例
build: 构建工具或外部依赖的更改npmwebpackgulp等
ci: 更改项目级的配置文件或脚本
chore: 除上述之外的修改
revert: 撤销改动先前的提交
2017-10-31 19:21:19 +08:00
### 4.scope
2017-10-31 17:54:54 +08:00
用来标识改动所影响的范围,视项目而定。
2017-10-31 19:21:19 +08:00
### 5.subject
2017-10-31 17:54:54 +08:00
改动的简短描述,不超过 50 字符长度。
2017-10-31 19:21:19 +08:00
### 6.Body
2017-10-31 17:54:54 +08:00
本次 commit 的详细描述。
2017-10-31 19:21:19 +08:00
### 7.Footer
2017-10-31 17:54:54 +08:00
主要用于两种情况:
1. 重大的不兼容改动: 用于给出改动说明及解决方案。
2. 关联 issues: 用于关闭相应 issues。
> 特别注意:使用 revert 标识撤销 commit 时subject 应为所撤销的 commit 的 message Body 应包含 所撤销的 commit 的 hash。
格式如下: