news 2026/9/27 7:47:13

用 AI 写 Git Commit Message,别踩这 5 个坑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 AI 写 Git Commit Message,别踩这 5 个坑

目录

    • 一、先定规则:AI 只写文案,不碰仓库动作
    • 二、可复制 Prompt(按 staged diff 用)
    • 三、Conventional Commits 速查(给 AI 也给你)
    • 四、五个坑
      • 坑 1:工作区全量当 staged
      • 坑 2:一条 commit 揉进两件事
      • 坑 3:复述 diff,不写动机
      • 坑 4:type 选飘
      • 坑 5:自动提交 / 自动 push
    • 五、和 PR 描述怎么分工
    • 六、什么时候不用 AI
    • 小结

写 commit message 这件事,烦的不是「想不出来」,是改了一堆文件之后,已经懒得准确概括了。

于是两种极端很常见:要么随手来一句update/fix,半年后git blame等于没有;要么把 AI 生成的长文原样贴上去,subject 80 个字,body 里还在复述 diff 里一目了然的细节。

这篇讲我怎么让 AI 写 commit,以及五个真实踩过的坑。附可复制 Prompt 和 Conventional Commits 模板。


一、先定规则:AI 只写文案,不碰仓库动作

这是底线,建议写进个人习惯甚至团队约定:

AI 可以做AI 不要做
根据staged diff起草 message自动git commit(除非你显式确认)
按团队规范改写 subject/body自动git push
把乱七八糟的草稿收成规范格式擅自git add未审查文件
提醒「这次 staged 像是混了两件事」改历史(rebase/amend)除非你要求

一句话:生成归生成,提交的按钮永远在人手里。


二、可复制 Prompt(按 staged diff 用)

把git diff --cached的结果贴进去(或让编辑器把 staged 变更喂给 AI):

根据下面的 staged diff,写一条 Git commit message。 规范: - 使用 Conventional Commits - subject:type(scope): 摘要;不超过 72 字符;祈使句;不加句号 - type 仅用:feat / fix / refactor / docs / test / chore / perf / ci - body 可选;有则说明「为什么」和「影响」,不要逐文件复述 diff - 中文或英文与团队现有 log 保持一致(本仓库用:____) 约束: - 只描述 staged 里真实存在的变更,禁止猜测未出现的动机 - 若 staged 明显包含两件无关的事,先指出,并给出「拆成两条」的建议,不要硬揉成一条 - 不要加入 Co-authored-by、emoji(除非我要求) - 输出两个候选,我来选 staged diff: <粘贴 git diff --cached>

把「本仓库用」那一行改成中文或英文。候选给两条很有用:一条偏短、一条带 body,选起来快。

我在 wescode 里会直接对当前变更说「按 Conventional Commits 写 commit message,给两个候选」;逻辑和上面一样,关键是范围锁定在 staged,别让它根据整个工作区幻想。


三、Conventional Commits 速查(给 AI 也给你)

<type>(<scope>): <subject> [body] [footer]

常用 type:

type何时用
feat新功能
fix修 bug
refactor行为不变的结构整理
docs只改文档
test只改测试
chore构建/工具/杂项
perf性能
ciCI 配置

好的 subject 例子:

feat(auth): 支持 refresh token 轮转 fix(download): 修复断点续传校验和为空 refactor(store): 拆分 ListBuilds 查询逻辑

差的 subject(AI 也常写出来):

update code fix bug 优化了一些东西 Update auth.go and handler.go

四、五个坑

坑 1:工作区全量当 staged

未git add的文件、本地调试打印、半成品实验,AI 若看到整个工作区,会写进 message。结果是:message 描述了你没打算提交的东西,或反过来,真正 staged 的要点被稀释。

习惯:先git add -p(或按文件 add)→ 再生成。只喂git diff --cached。

坑 2:一条 commit 揉进两件事

改了登录,又顺手格式化了无关包。AI 常会写:

feat(auth): 登录支持 MFA 并统一代码风格

看起来完整,回滚和 cherry-pick 会很痛。正确反应是:让 AI 指出混杂,然后拆 commit,而不是追求「一条说完」。

Prompt 里那句「两件无关的事先指出」就是为这个准备的。

坑 3:复述 diff,不写动机

AI 默认爱写:

- 修改了 a.go - 新增了 b.go - 删除了 c.go

这是git show --stat就能看到的。body 该写的是:

  • 为什么改(缺陷表现、需求背景)
  • 有意不做的取舍(「暂不迁移旧接口」)
  • 风险提示(「需跑迁移」「兼容旧客户端」)

生成后扫一眼:body 里如果全是文件名,删掉重写「为什么」。

坑 4:type 选飘

把「修文案」写成feat,把「真的新接口」写成chore,后面按 type 筛 changelog / 自动发版会乱。

简单校准:

  • 用户可感知的能力变化 →feat/fix
  • 只有开发者在意 →refactor/test/chore
  • 拿不准时,看「用户会不会在发版说明里看到它」

坑 5:自动提交 / 自动 push

部分工具或脚本支持「生成并 commit」。省事的代价是:

  • message 还没看就进历史了
  • 误 add 的文件一起进去了
  • 钩子(lint-staged、测试)失败时更难收拾

我的做法:永远先展示候选 → 人确认 → 再手动 commit。AI 加速的是措辞,不是跳过审查。


五、和 PR 描述怎么分工

产物该写什么
commit message这一小步「做了什么 + 为何」
PR 描述整单动机、测试计划、风险、截图/关联 issue

别让 AI 把 PR 长文塞进每一条 commit;也别指望一条feat: ...能代替 PR。我的常用顺序:

  1. 本地多次小 commit(AI 助写 message)
  2. 开 PR 时再让 AI 根据main...HEAD的 log + diff 写 PR 描述
  3. PR 描述里单独要「测试计划」和「风险」,commit 里不必重复

六、什么时候不用 AI

改动就一行、意图一眼能看清。自己敲fix(api): 纠正空指针更快。

message 需要写进合规/审计语境。涉及安全修复措辞、对外披露口径时,人定稿,AI 最多给草稿。

你还没 staged、自己都没理清改了什么。先整理 diff,再写 message;顺序反了,AI 只会帮你把混乱写得很流畅。


小结

用 AI 写 commit message,收益很大,但只在三个前提下:

  1. 输入是staged diff,不是整个乱七八糟的工作区
  2. 输出遵守团队规范,并且人确认后再 commit
  3. 发现「一条里两件事」时选择拆分,而不是硬概括

Subject 写动机与范围,body 写为什么;别让 AI 当你的git status复读机。

上面的 Prompt 和流程我是在日常提交里用的,编辑器侧用的是 wescode,官网是 weisyn.com。你们团队对 AI 写 commit 还有什么强制规范,欢迎评论区贴出来一起抄作业。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 7:47:08

一流的江苏网站建设详细步骤

不会代码做一流江苏网站建设完整流程揭秘 手里没代码基础,却硬着头皮想搞个像样的公司官网?别慌,这事儿真没你想得那么玄乎。很多老板觉得“一流的江苏网站建设”是高不可攀的技术活,其实只要路子对,小白也能跑通从注册到上线的 完整流程 。…

作者头像 李华
网站建设 2026/9/27 7:46:51

告别模板站丑闻:3步搞定网站建设品牌塑造计划完整流程

告别模板站丑闻:3步搞定网站建设品牌塑造计划完整流程 别再对着那些千篇一律的模板网站发呆了,真不够用。模板站最大的问题不是“丑”,而是它根本没法帮你建立品牌辨识度,用户看一眼就划走,留不下任何印象。想要做出有记忆点的官网,光靠套模板是死路一条,必须走一条 网站建设品牌塑造计划 的 完整流程 。…

作者头像 李华
网站建设 2026/9/27 7:46:21

做外贸站怕被黑?3个免费工具教你搞懂有哪些网站做国外生意的

做外贸站怕被黑?3个免费工具教你搞懂有哪些网站做国外生意的 昨天凌晨三点,四川成都一位做汽配出口的老板给我打电话,声音都在抖。他网站首页突然变成了一堆乱码广告,点进去全是赌博链接。这就是典型的网站被黑挂马,很多做外贸的朋友遇到这种情况根本不知道怎么办,只能干瞪眼。…

作者头像 李华
网站建设 2026/9/27 7:45:40

3个坑避开,很好的网站建设怎么选才不踩雷

3个坑避开,很好的网站建设怎么选才不踩雷 备案流程一头雾水?别慌,很多老板第一反应是“找个外包全权代理”,结果钱花了,网站上线慢,后期改个页面还要看人脸色。其实, 怎么选 建站方案,核心不在于找谁做,而在于你搞懂背后的逻辑。今天咱们不聊虚的,直接拆解 很好的网站建设…

作者头像 李华
网站建设 2026/9/27 7:45:03

个人博客网站中文模板从零搭建:避坑指南与安全加固

个人博客网站中文模板从零搭建:避坑指南与安全加固 网站做好了没人访问,这不仅是流量焦虑,更是安全漏洞的前兆。很多新手觉得博客是静态页面,没什么好防的,结果上线一周就被挂马。个人博客网站中文模板虽然轻量,但从零搭建时的默认配置往往藏着致命隐患。今天不聊虚的,直接拆解那些让黑客垂涎欲滴的“裸奔”细节。…

作者头像 李华
网站建设 2026/9/27 7:44:55

深圳网站设计与开发:2026最新建站实操指南

深圳网站设计与开发:2026最新建站实操指南 想做个网站却不懂代码?别慌。在2026年的今天,深圳网站设计与开发早已不是程序员的专利。很多独立站长、企业老板,甚至刚毕业的大学生,都能通过合理的工具选型和配置,搞定从域名到上线的全流程。这篇文章不讲虚的,只讲怎么把站做出来,怎么让它跑得快,怎么让搜索引…

作者头像 李华