npm 包 @jedwards1211/commitlint-config 使用教程

阅读时长 5 分钟读完

前言

在使用 Git 进行团队开发时,良好的代码提交规范能够在代码迭代、项目交接、问题排查等方面带来巨大的便利和效率提升。而 commitlint 正是一款能够帮助我们实现代码提交规范化的工具。

在本文中,我们将介绍一款 NPM 包,即 @jedwards1211/commitlint-config,它是由 commitlint 的作者之一 Joshua Edwards 开发的、可以快速帮助我们规范化代码提交的配置工具。

安装

我们可以先全局安装 commitlint 和 @jedwards1211/commitlint-config:

接着在项目的根目录下创建一个 .commitlintrc.js 文件:

注意,由于这里我们将使用到 @jedwards1211 配置,因此在 extends 中需要引入该配置。

配置

下面我们将详细介绍 @jedwards1211/commitlint-config 的配置项:

types

规定了 commit message 的类型,例如 featfixdocstyle 等,会被使用在 message 的开始,以表示这个 commit 的目的。

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

scopes

用于描述这个 commit 主要影响到了哪个范围的代码,可以是文件、目录、类、方法等,方便代码阅读和追踪。

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

messages

每个主要部分都对消息内容中的某些信息进行了详细说明。

在使用中,我们可以针对不同的 scopes 配置不同的 messages,或者同时配置多个 scope 使用同样的 messages。

maxLineLength

规定了 commit message 在提交时的最大长度。

defaultIgnores

默认忽略的 commit 类型和 scopes。

配置了 defaultIgnores 的 commit 类型和 scopes 会被自动忽略。

示例

我们来看下一个示例:

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

上述示例定义了七种 commit 类型、六种 scopes、超出 50 个字符会提醒、每行不超过 72 个字符、默认忽略与此相符的 commit 类型和 scopes。

总结

@jedwards1211/commitlint-config 的出现,使得我们的 commit message 规范化更加便利和快捷。在使用过程中,我们不妨参考本文提供的安装和配置流程,来规范化自己的代码提交过程。

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

纠错
反馈