靠人自觉跑 lint 不靠谱。pre-commit 钩子在提交前自动校验,脏代码出不了门。
实践流程
#!/bin/sh
# .git/hooks/pre-commit
npm run lint --silent
if [ $? -ne 0 ]; then
echo "lint 未通过,提交被拦"
exit 1
fi
要点速览
- pre-commit 里跑 lint/test,失败则非零退出阻止提交。
- 钩子默认不随仓库分发,用 husky 或 core.hooksPath 团队共享。
- 别在钩子里做重操作,提交会变卡。
把规范写进 hook,比写进文档更能落地。