用 Git Hook 守住代码质量的第一道门

举报
yd_15031637 发表于 2026/10/19 00:04:05 2026/10/19
【摘要】 很多团队依赖 CI 发现格式错误和低级问题,但等到推送后才发现,反馈链路太长,修起来也麻烦。其实可以用 Git Hook 把第一道门挪到本地:在 git commit 前自动跑一遍快速检查,不合格就直接拦截。常见做法是 husky + lint-staged。先安装依赖,执行 npx husky init,然后在 .husky/pre-commit 中写入 npx lint-staged。接...

很多团队依赖 CI 发现格式错误和低级问题,但等到推送后才发现,反馈链路太长,修起来也麻烦。其实可以用 Git Hook 把第一道门挪到本地:在 git commit 前自动跑一遍快速检查,不合格就直接拦截。

常见做法是 husky + lint-staged。先安装依赖,执行 npx husky init,然后在 .husky/pre-commit 中写入 npx lint-staged。接着在 package.json 配置 lint-staged,只检查本次暂存的文件,例如:

"lint-staged": {
  "*.{js,ts,jsx,tsx}": ["eslint --fix", "prettier --write"],
  "*.{css,md,json}": ["prettier --write"]
}

这样每次提交只会处理改动文件,速度快,也不会因为历史遗留问题阻塞开发。好处很直接:反馈从分钟级降到秒级,减少 CI 无效构建,避免“格式化提交”污染提交历史,还能让团队逐步形成提交前自检的习惯。

注意 Hook 只适合做快速检查,单元测试、构建和集成测试仍应交给 CI,避免本地提交过慢。另外要给紧急场景留出口,比如文档说明可用 git commit --no-verify 跳过,但 Code Review 时需说明原因。小投入换来质量前移,值得落地。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。