npm包:conventional-changelog-stalinkay 使用教程

阅读时长 5 分钟读完

前言

consventional-changelog-stalinkay是一个开源的npm包,它可以帮助我们生成符合Conventional Commits规范的CHANGELOG.md文件,从而方便我们管理项目的版本变更。

本篇教程会讲述如何使用conventional-changelog-stalinkay生成CHANGELOG.md文件,并将其与自动化构建系统集成,以便每一次提交都可以自动更新CHANGELOG.md文件。

Conventional Commits 规范简介

Conventional Commits规范定义了一种commit message的格式,它由三个部分组成:header,body和footer。

header包含了type,scope和subject三个参数。其中,type是必选参数,用于描述本次commit的类别;scope是可选参数,用于描述项目的哪一个部分进行了修改;subject是必选参数,用于描述本次commit的概要信息。header的格式如下所示:

body部分可以用于更详细地描述本次commit所做的更改。它以空行开始,以空行结束。

footer部分可以用于与之前的commit进行关联,以及指定一些关闭相关issue等操作。

Conventional Commits规范可以帮助我们更好地组织commit message,从而方便地查看每次代码变更的内容。

安装 conventional-changelog-stalinkay

首先,我们需要安装conventional-changelog-stalinkay,可以通过如下命令进行安装:

使用 conventional-changelog-stalinkay 生成 CHANGELOG.md 文件

  1. 初始化 CHANGELOG.md 文件

在项目的根目录下,可以使用如下命令初始化CHANGELOG.md文件:

其中,-p 参数用于指定Conventional Commits规范的格式,angular是其一种实现。

-i 参数用于指定生成的CHANGELOG.md文件的名称和路径,这里的名称为“CHANGELOG.md”。

-s 参数用于指定是否在生成的CHANGELOG.md文件中添加一个commit范围的版本区间。

  1. 更新 CHANGELOG.md 文件

一旦CHANGELOG.md文件被初始化后,我们可以通过如下命令更新CHANGELOG.md文件:

在运行该命令时,conventional-changelog-stalinkay将会读取所有的commit message,并根据Conventional Commits规范的格式重新生成CHANGELOG.md文件。生成的CHANGELOG.md文件将包含每一个版本的变更记录以及与之关联的commit message。

集成 conventional-changelog-stalinkay 到自动化构建系统

在自动化构建系统中集成conventional-changelog-stalinkay,我们可以在每一次代码提交后自动更新CHANGELOG.md文件。这样做的好处是,我们可以随时查询任意版本的代码变更,从而更好地管理代码库。

在集成conventional-changelog-stalinkay之前,我们需要对git hook进行设置。在.git/hooks目录中,创建一个名为“commit-msg”的文件,并将以下内容复制到该文件中:

在上面的代码中,我们指定了当每一次git commit操作时,都会运行conventional-changelog-stalinkay来更新CHANGELOG.md文件。在更新CHANGELOG.md文件时,我们指定了-p参数值为“angular”,-i参数值为“CHANGELOG.md”,-s参数表示为添加范围并指定-k参数值为“types”。

现在,当我们提交代码时,每一条commit message都会自动地更新CHANGELOG.md文件,并将变更记录合并到CHANGELOG.md文件中。

总结

Conventional Commits规范可以帮助我们组织commit message,从而方便查看每次代码变更的内容。通过使用conventional-changelog-stalinkay,我们可以生成符合规范的CHANGELOG.md文件。将conventional-changelog-stalinkay集成到自动化构建系统中,可以帮助我们每次代码提交时自动化更新CHANGELOG.md文件。

示例代码:

-- -------------------- ---- -------
-- --- ------------ --
---------------------- -- ------- -- ------------ --

-- -- ------------ --
---------------------- -- ------- -- ------------ --

-- --- ----
---------
---- - -------- -- ---------------------------------------- -- ------------ -- -- ------- -- -----

使用这个代码可以方便快捷地进行操作,如果你在写一个大项目或者是维护一个已有项目,推荐使用这个npm包,能够更加好掌握每一次提交的内容。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005626281e8991b448dfaba

纠错
反馈