简介
@marionebl/conventional-changelog
是一个基于 conventional commits 的 changelog 生成器。它能够根据代码提交记录自动生成 changelog,避免手动维护 changelog 带来的巨大工作量和问题。
安装
使用 npm 安装:
--- ------- -- ---------------------------------
使用
生成 changelog
- 在项目的 Git 仓库中提交符合 conventional commits 标准的代码;
- 在项目根目录下执行以下命令:
---------------------- -- ------- -- ------------ --
其中,-p angular
指定使用规范为 Angular,-i CHANGELOG.md
指定生成的 changelog 文件名为 CHANGELOG.md,-s
指定生成的 changelog 中未发布的版本会被添加到 Unreleased 标题下。
集成到项目中
1. Gulp 集成
----- --------------------- - --------------------------------------------- ----- ---- - ---------------- ---------------------- -------- -- - ------ ----------------------- ------- --------- -- ----------------------------------- ---
2. Grunt 集成
-------------- - --------------- - --------------------------------------------------- ------------------ ---------------------- - -------- - ------- --------- -- -------- - ---- -------------- - - --- --
3. Git Hooks 集成
- 安装
husky
:
--- ------- ----- ----------
- 在
package.json
中增加以下代码:
- -------- - -------- - --------------------- ----- - -------- -- --- -- ------ -- ------ ------------- ----------------------- -- ------- -- ------------ -- -- --- --- ------------- - - -
其中,prepare-commit-msg
用于在每次提交代码的时候使用 commitizen
进行规范的提交,postcommit
则用于在每次成功提交代码后自动生成 changelog 并添加到 Git 仓库中。注意,postcommit
只在每次成功提交时触发,因此如果你是第一次使用该钩子,需要手动添加一条符合 conventional commits 标准的提交。
示例代码
1. 生成 changelog
---------------------- -- ------- -- ------------ --
2. Gulp 集成
----- --------------------- - --------------------------------------------- ----- ---- - ---------------- ---------------------- -------- -- - ------ ----------------------- ------- --------- -- ----------------------------------- ---
3. Grunt 集成
-------------- - --------------- - --------------------------------------------------- ------------------ ---------------------- - -------- - ------- --------- -- -------- - ---- -------------- - - --- --
4. Git Hooks 集成
- -------- - -------- - --------------------- ----- - -------- -- --- -- ------ -- ------ ------------- ----------------------- -- ------- -- ------------ -- -- --- --- ------------- - - -
总结
@marionebl/conventional-changelog
凭借其实用的功能,受到了广泛的应用。通过学习使用它的方法,可以让我们更好地管理项目的 changelog,同时避免手动维护 changelog 带来的烦恼。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066bca967216659e24461c