一行命令把“改了一堆又说不清干了啥”的代码,变成可审查、可回滚、可 bisect 的专业提交记录

Title: 一行命令把“改了一堆又说不清干了啥”的代码,变成可审查、可回滚、可 bisect 的专业提交记录
Slug: conventional-commit-batcher


你是不是也经历过这些场景?

  • 改着改着,发现同时动了登录逻辑(bug 修复)、删了三处重复代码(重构)、顺手更新了 README(文档)……最后 git commit -m "fix stuff" 一气呵成 ✅
  • Code Review 时,同事盯着你那个 wip 提交皱眉:“这到底是修 bug 还是改接口?能单独 revert 吗?”
  • 某天线上出问题,想用 git bisect 定位,结果卡在第 3 个提交——因为一个提交里混着“加日志”、“删 console”、“修 typo”,根本没法判断哪部分引入了问题。

👉 conventional-commit-batcher 就是专治这种“提交混乱症”的轻量级开发者工具。它不强制你学新流程,也不塞一堆配置;而是用三个小动作,帮你把「一团乱麻的改动」自动理成「清晰、合规、可追溯」的提交序列:


✅ 它只做三件事,但每件都直击痛点:

  1. 先「想清楚再动手」→ 自动生成「提交计划」
    扫描你当前未提交的改动(git status),按「意图」智能分组:
  2. 哪些是 refactor(重构)?比如 src/auth/ 下的函数重命名
  3. 哪些是 fix(修复)?比如 src/api/ 中空响应的兜底逻辑
  4. 哪些是 docs(文档)?比如 docs/setup.md 的新增说明
    → 输出一个带编号、带文件路径、带 Conventional Commit 格式建议的清单,就像你的提交导航图。

  5. 再「一批一批加」→ 引导你精准 git add -p
    不再 git add . 一把梭哈。它会提示:“接下来该处理第 1 条:refactor(auth): ...,建议只选 src/auth/ 相关的 hunk”,让你真正实现「一次只提交一类意图」。

  6. 最后「卡住错误格式」→ 提交前自动校验消息
    如果你手滑写了 git commit -m "update auth logic",它会立刻拦住你:
    ❌ 错误:不符合 Conventional Commits 规范(缺少 type(scope) 前缀)
    ✅ 正确示例:refactor(auth): simplify token parsing
    (还支持自定义规则:比如禁止提交含 console.logTODO:// FIXME 的代码)


🧪 看看真实效果(同一堆改动,前后对比)

Before(典型混乱提交)

commit abc123  
Message: "fix and update"  

commit def456  
Message: "wip, need to test"  

commit ghi789  
Message: "cleanup"

After(用 batcher 处理后)

1) refactor(auth): simplify token parsing  
   → changes: src/auth/*  

2) fix(api): handle empty response safely  
   → changes: src/api/*  

3) docs: update setup notes  
   → changes: docs/*

→ 三条独立提交,类型明确、范围清晰、语义完整。Review、revert、bisect 全部丝滑。


⚙️ 怎么快速上手?(零配置起步)

如果你用 Vercel Skills 生态(推荐新手):

npx skills add cnkang/conventional-commit-batcher

运行后,它会自动分析当前分支,输出上面那种带编号的 Commit Plan 👇

不想装任何 agent?也没问题!
项目里直接提供了开箱即用的 Git 提交信息校验钩子(commit-msg hook),复制粘贴就能用:

# 进入你的项目根目录
cp node_modules/conventional-commit-batcher/hooks/commit-msg .git/hooks/
chmod +x .git/hooks/commit-msg

之后每次 git commit,都会自动检查格式是否合规(比如是否漏了 type(scope):)。


💡 它不是“教条工具”,而是“成长型搭档”

  • 对新人:用「Plan-first」降低认知负担——不用自己想“该拆几个提交”,工具先给你列好清单;
  • 对团队:统一 type(如 feat/fix/chore)和 scope(如 (auth)/(api))让历史一目了然;
  • 对老手:可关闭校验、只用 Plan 功能;或扩展安全检查(比如禁止提交 .env 文件)。

它的作者说得很实在:
“我不想搞一套新仪式感,只想让好习惯变得比偷懒还容易一点。”


Repo: https://github.com/cnkang/conventional-commit-batcher

类似文章