fanzhuan-commit-guard
v1.0.3
Published
Install Husky hooks and block invalid commit messages before commit and push.
Maintainers
Readme
fanzhuan-commit-guard
基于 Husky 的 commit 信息校验 npm 插件。
安装后会向项目注入:
.husky/commit-msg:在git commit时校验提交信息格式,不符合规范会阻塞 commit。.husky/pre-push:在git push前校验即将推送的 commit,不符合规范会阻塞 push。
合法提交信息会自动给支持的类型补充 emoji。
安装
npm i -D fanzhuan-commit-guard插件包含 postinstall,安装时会尝试自动写入 .husky/commit-msg、.husky/pre-push 并执行:
git config core.hooksPath .husky如果安装阶段没有自动注入,也可以手动执行:
npx fanzhuan-commit-guard install检查当前项目 hook 状态:
npx fanzhuan-commit-guard doctor注意:如果安装依赖时项目还没有执行
git init,Git 的core.hooksPath无法自动配置。此时插件会先写入.husky/commit-msg,等仓库初始化后再执行npx fanzhuan-commit-guard install即可修复。
提交格式
feat: 新增登录功能
fix(user): 修复用户查询异常
docs: 更新 README支持的类型:
feat, fix, merge, style, perf, test, revert, build, chore, ci, refactor, docs, release阻塞规则
git commit -m "hello"会失败,因为不符合提交格式。git commit -m "feat: 新增登录"会通过,并自动改写为✨ feat: 新增登录。git push前会检查本次要推送的 commit 列表,发现历史提交信息不符合规范时会阻塞 push。- 如果使用
git commit --no-verify或git push --no-verify,Git 会跳过 hooks,这是 Git 自身行为。
错误提示
校验失败时会高亮展示错误原因,并把正确示例、可用类型、问题提交等信息用独立模块展示。 在非 TTY 环境中默认不输出 ANSI 颜色;如需强制开启颜色,可以使用:
FORCE_COLOR=1 npx fanzhuan-commit-guard verify .git/COMMIT_EDITMSG本地调试
在本仓库内可以用 npm 本地路径安装到目标项目:
npm i -D ../fanzhuan-cli也可以直接在目标项目里执行:
node ../fanzhuan-cli/bin/fanzhuan-commit-guard.js install