概述
guppy-pre-flow-bugfix-finish
是一个 Node.js 模块,用于批量执行项目的 commit message 格式规范化操作。它支持 Git Flow 工作流下的预发布、修复和完结操作,同时还能自定义规则。
安装
在使用 npm 安装前,请确保已在本地安装了 Node.js 和 Git。
npm install -g guppy-pre-flow-bugfix-finish
使用
初始化配置文件
进入项目根目录,执行以下命令初始化配置文件:
guppy-pre-flow-bugfix-finish init
执行完毕后,会在项目根目录下生成一个 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:
guppy-pre-flow-bugfix-finish run
该命令会遍历 Git 日志,匹配规则并修改 commit message。请确保在执行命令前已提交尚未修改的 commit,否则可能会影响 Git 历史。
示例
假设我们已经有一个处于 Git Flow 工作流下的项目,现在需要将 pre、fix、finish 的 commit message 的前缀改为全大写,并且描述的最大长度限制为 15
。
配置
打开命令行工具,进入项目根目录,执行以下命令:
guppy-pre-flow-bugfix-finish init
然后将生成的 guppy-pre-flow-bugfix-finish.json
文件内容改为:
-- -------------------- ---- ------- - -------- - ----------- - --------- ------ -------------- ----- ---- -- ----------- - --------- ------ -------------- ---- ---- -- -------------- - --------- --------- -------------- ----- ----- - -- ----------------------- --- -------------------- ------------------------------- -
执行
执行以下命令来批量修改 commit message:
guppy-pre-flow-bugfix-finish run
执行完成后,所有的 pre、fix、finish 的 commit message 前缀都已经改为了全大写,并且描述的最大长度被限制为了 15
。
结尾
guppy-pre-flow-bugfix-finish
在项目开发过程中对于规范化 commit message 的操作非常有帮助。使用它可以省去手动修改每一个 commit 的繁琐过程,让开发者更专注于项目的开发与维护。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005538881e8991b448d0b7f