npm 包 guppy-pre-flow-bugfix-finish 使用教程

阅读时长 4 分钟读完

概述

guppy-pre-flow-bugfix-finish 是一个 Node.js 模块,用于批量执行项目的 commit message 格式规范化操作。它支持 Git Flow 工作流下的预发布、修复和完结操作,同时还能自定义规则。

安装

在使用 npm 安装前,请确保已在本地安装了 Node.js 和 Git。

使用

初始化配置文件

进入项目根目录,执行以下命令初始化配置文件:

执行完毕后,会在项目根目录下生成一个 guppy-pre-flow-bugfix-finish.json 文件,打开文件编辑配置。

配置

以下是配置文件的示例内容:

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

rules

rules 是一组正则表达式和对应规则的配置。每一个正则表达式表示一个规则,用于匹配 commit message。当匹配成功时,将会在 commit message 的前面自动添加配置的前缀,并且将规则的 description 作为 commit message 的描述。

maxDescriptionLength(可选项)

maxDescriptionLength 是 commit message 描述的最大长度,不包括前缀部分。当描述长度大于 maxDescriptionLength 时,将自动截断。

branchNamePattern(可选项)

branchNamePattern 是用于匹配分支名称的正则表达式。若该项没有配置,则默认使用 ^pre|fix|feature|hotfix/\w+$

执行

执行以下命令来批量修改 commit message:

该命令会遍历 Git 日志,匹配规则并修改 commit message。请确保在执行命令前已提交尚未修改的 commit,否则可能会影响 Git 历史。

示例

假设我们已经有一个处于 Git Flow 工作流下的项目,现在需要将 pre、fix、finish 的 commit message 的前缀改为全大写,并且描述的最大长度限制为 15

配置

打开命令行工具,进入项目根目录,执行以下命令:

然后将生成的 guppy-pre-flow-bugfix-finish.json 文件内容改为:

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

执行

执行以下命令来批量修改 commit message:

执行完成后,所有的 pre、fix、finish 的 commit message 前缀都已经改为了全大写,并且描述的最大长度被限制为了 15

结尾

guppy-pre-flow-bugfix-finish 在项目开发过程中对于规范化 commit message 的操作非常有帮助。使用它可以省去手动修改每一个 commit 的繁琐过程,让开发者更专注于项目的开发与维护。

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

纠错
反馈