npm包@commitlint/prompt-cli使用教程

阅读时长 5 分钟读完

介绍

在前端开发过程中,我们经常使用Git进行版本控制。为了规范我们的commit message,我们可以使用@commitlint/prompt-cli这个npm包。该包提供了一个命令行交互工具,用于提示我们编写符合规范的commit message。

安装

我们可以使用npm全局安装@commitlint/prompt-cli:

安装完成后,我们就可以在命令行中使用commitlint命令。

使用方法

初始化

首先,我们需要在项目中初始化@commitlint/prompt-cli。在项目根目录下,可以通过以下命令进行初始化:

该命令会在项目中生成一个名为.commitlintrc.json的配置文件。该配置文件包含了commit message的一些规范配置项。

检测commit message

在使用git提交代码时,我们可以在提交命令后加上-m参数来输入commit message。例如:

为了检测commit message是否符合规范,我们可以使用@commitlint/prompt-cli。在输入git commit命令后,该插件会提示我们编写commit message,并检测该message是否符合我们所定义的规范。

配置规范

我们可以通过.commitlintrc.json配置文件来定义commit message的规范。以下是一个示例配置文件:

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

在该示例中,我们引入了@commitlint/config-conventional规范,该规范定义了一些常用的commit message类型和格式。我们还可以在该配置文件中自定义一些规则,例如:

  • type-enum:定义commit message的类型必须是哪些枚举值之一。在示例中,定义了8种类型:featfixdocsstylerefactortestchorerevert
  • subject-full-stop:定义commit message的主题不能以句号结尾。
  • header-max-length:定义commit message的标题长度不得超过72个字符。

示例代码

以下是一个包含config配置文件的项目目录结构:

其中,.commitlintrc.json文件内容如下:

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

在项目中输入以下命令:

该命令会提示我们输入commit message,并检测该message是否符合规范。在输入完commit message后,我们可以通过以下命令查看该commit message是否符合我们所定义的规范:

该命令会输出以下信息:

我们可以看到,在我们的commit message中,主题和类型都不能为空。如果我们按照规范再重新输入符合规范的commit message,则该命令会返回一个空字符串。

总结

在本文中,我们介绍了npm包@commitlint/prompt-cli的使用方法和配置规范。通过使用该插件,我们可以规范化我们的commit message,从而更好地进行Git版本控制。同时,该插件也可以帮助我们保证代码提交的风格一致性,在多人协作开发时尤为重要。

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