forked from zhongyidian/super_video
1.7 KiB
1.7 KiB
Husky 配置说明
已安装的依赖
husky: Git hooks 管理工具lint-staged: 对暂存文件运行 linters@commitlint/cli: Commit 信息验证工具@commitlint/config-conventional: 约定式提交规范
配置内容
1. Pre-commit 钩子
在每次 commit 前自动执行:
- ESLint 检查和自动修复
- Prettier 代码格式化
2. Commit-msg 钩子
验证 commit 信息格式,必须符合约定式提交规范:
格式: <type>(<scope>): <subject>
允许的 type 类型:
feat: 新功能fix: 修复 bugdocs: 文档更新style: 代码格式调整refactor: 代码重构perf: 性能优化test: 测试相关build: 构建相关ci: CI/CD 相关chore: 其他杂务revert: 回滚提交
规则:
- subject 最大长度: 50 字符
- body 每行最大长度: 100 字符
- subject 不能使用句首大写、帕斯卡命名等格式
3. Prettier 配置
已创建 .prettierrc 配置文件,统一代码格式:
- 不使用分号
- 使用单引号
- 缩进 2 个空格
- 行宽限制 100 字符
- 不使用尾随逗号
使用方法
正常提交
git add .
git commit -m "feat: 添加新功能"
如果 commit 信息不符合规范
git commit -m "invalid message"
# 会提示错误并要求修改
手动运行检查
# 检查代码格式
npx lint-staged
# 检查 commit 信息
echo "feat: 测试" | npx commitlint
注意事项
- 确保使用
nvm use 22.14切换到正确的 Node.js 版本 - 使用
pnpm作为包管理器 - 所有代码在提交前会自动进行格式化和检查
- 如果检查失败,commit 会被阻止,需要修复后重新提交