Git Commit Message 规范 + 自动化:别再写"fix bug"了
引言 打开你们项目的 git log,大概率是这样: a3f2b1c fix bug 7c8d9e1 update 2b4f5a6 修改 9e1c3d7 xxx 5d6a7b8 修复订单问题 3f8c9d0 2024-01-15 update 这种 commit message 有什么问题? "fix bug" —— 修的哪个 bug?怎么修的? "update" —— 更新了什么?文档还是代码? "修改" —— 改的哪里? "xxx" —— ? 半年后排查线上问题,需要 git bisect 定位是哪次提交引入的 bug,看到一堆 "fix bug" 直接崩溃。 commit message 不是写给自己的,是写给团队和未来的自己看的。 这篇文章从规范到自动化,讲透一套完整的 commit message 方案: Conventional Commits 规范:feat/fix/chore 等类型含义 commitlint:自动校验,不规范不让提交 husky:把校验挂到 git hook commitizen:交互式生成规范 message standard-version....