这个项目能做什么

Commitizen 帮助团队在创建提交时执行并传达提交信息约定。贡献者无需等待钩子拒绝无效信息,而是回答所需字段的提示,由所选适配器生成格式化后的提交信息。 该工具通过 npm 分发,可以使用 npm install -g commitizen 全局安装,使用 npx cz 直接运行,或作为项目 devDependency 安装,以确保每位贡献者使用相同版本。在已配置的仓库中,用户可以使用 git cz、cz 或 git-cz 代替 git commit。它也可以通过 npm 脚本暴露。 通过选择适配器,可以使仓库支持 Commitizen。文档中的设置使用 commitizen init cz-conventional-changelog 配合 npm、Yarn 或 pnpm,该命令会安装适配器、将其保存到 package.json,并添加 config.commitizen.path 设置。配置也可以放在 .czrc 文件中。适配器路径可以解析 npm 包、本地 JavaScript 文件、包含 index.js 的目录、相对路径或绝对路径。 Commitizen 基于适配器,因此项目可以使用已发布的选项,如 cz-conventional-changelog、cz-customizable、cz-emoji、cz-commitlint、cz-git、面向 Jira 的适配器,或自行构建。自定义适配器接收一个 Inquirer.js 实例,并通过 commit 回调返回最终的提交字符串。 对于希望提示在常规 git commit 期间出现的维护者,可以使用 --hook 选项从 prepare-commit-msg Git 钩子中调用 Commitizen。README 提供了传统 Git 钩子和 Husky 的示例,包括从 /dev/tty 重定向输入,以便钩子可以交互。Commitizen 旨在与提交钩子及相关工具协同工作,而不是取代它们。 其他功能包括通过 ~/.czrc 进行全局配置以跨仓库使用,支持标准 git commit 选项(如 git cz -a),以及多仓库模式,团队可以发布一个小型自定义 Node.js CLI,用固定适配器引导 Commitizen。git cz --retry 命令可以在钩子或测试运行失败后重用之前尝试的提交,重试数据与仓库路径绑定,并可能因升级或缓存文件删除而被清除。 README 列出了经过测试的 Node.js 版本 12、14 和 16,并要求 npm 6 或更高版本,同时指出它可能在更旧的 Node.js 版本上运行。提到的相关项目包括用于生成变更日志的 conventional-changelog 和用于检查提交信息的 commitlint。