npm 包 cz-customizable-ghooks 使用教程

阅读时长 4 分钟读完

简介

cz-customizable-ghooks 是一个npm包,它提供了一种定制化的 git commit message 规范和钩子函数工作流程的解决方案。通过使用它,可以在项目中规范化 commit message 的格式,同时自定义与commit相关的操作和行为,比如执行一系列的 lint、测试、构建等操作。本文将详细介绍如何在前端项目中使用 cz-customizable-ghooks。

安装配置

  1. 通过 npm 安装 cz-customizable-ghooks:

    npm install --save-dev cz-customizable-ghooks

  2. 运行以下命令,初始化配置文件 .cz-config.js(也可以手动创建该文件):

    npx cz-customizable-ghooks init

  3. 修改 .cz-config.js 配置文件,指定自己的 commit message 规范,例如:

-- -------------------- ---- -------
-------------- - -
  ------ -
    - ------ ------- ----- ------     ----- --
    - ------ ------ ----- -----      -- ---- --
    - ------ ------- ----- ------     ----- --
    - ------ -------- ----- -------    --------------- --
    - ------ ----------- ----- ---------- ----- --
    - ------ ------- ----- ------     -------- --
    - ------ -------- ----- -------    --------------- --
    - ------ --------- ----- --------   ----- --
  --
  -- ------------ ---- ---
  ------------ ------
  -- ------ --- --- ---- -------
  ------- -----
  -- ------ --- --- ----- -------
  -------- -----
  -- ----------- -----------
  --------------- ----- --- ------ ---- --- ------ ---- --- --------
--
  1. 修改 package.json 文件,添加 precommit 和 postcommit 钩子函数:

这里的 precommit 钩子函数会在 git commit 前执行,用于检查暂存区的代码是否符合规范。而 postcommit 钩子函数会在 git commit 后执行,用于执行一些操作,比如构建、部署等。

示例代码

以 React 项目为例,假设我们修改了一个组件并提交到 git 仓库。

  1. 执行 git add . 将修改的文件添加到暂存区。

  2. 执行 git commit 进入 commit message 编辑界面,根据自己在 .cz-config.js 中定义的规范,输入提交信息。

  3. 提交成功后,precommit 钩子函数会自动执行 lint 检查。如果代码不符合规范,则不能继续进行下一步操作。

  4. 如果通过了 precommit 钩子函数的检查,那么 postcommit 钩子函数会自动执行测试和构建操作。

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

结论

cz-customizable-ghooks 是一个非常实用的 npm 包,它为我们提供了一种方便、高效、规范化的 git commit message 规范和钩子函数

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

纠错
反馈