Skip to content

commit message 该怎么写? ​

导读 ​

commit message 是 git commit 的提交备注。用 type(scope): 标题 加四行正文的写法,每次提交就成了一份可回看、可回滚、可交给 AI 审查的轻量状态报告,不用再单独维护开发流水账。在源代码管理中用 Git,配合一段提示词,就可以让 AI 帮你完成提交。

先对齐两个基础概念 ​

在讲具体操作前,需要先明确两个贯穿全文的工具概念。如果你已经熟悉,可以快速跳过。

Git 与 Commit ​

Git 是目前几乎所有 AI Agent 都集成的版本控制工具。后面有一节我们会详细介绍。当下你就可以当做是专门用来保存代码的项目的“时间机器”,它的核心作用是生成快照(Snapshot),把你当前工作区的所有文件状态完整保存下来。

每一次保存的动作叫一次 Commit(提交)。

每次 commit 都会生成一个唯一的 hash(哈希值如 a1b2c3d),相当于这个快照的身份证号。你可以在「源代码管理」或者类似的地方找到它。

Diff 与实际内容 ​

Diff 是 git 用来快速定位修改位置的工具。一般会在编辑器中呈现,用红色和绿色,标出 「删除」「新增」「修改」。

🔴 - return data ← AI 说:这句删掉

🟢 + return data or [ ] ← AI 说:换成这句更稳妥

可以用键盘选择或者按键来操作,是否确定修改:

操作按键
接受当前 DiffTab
拒绝Esc
撤销Cmd / Ctrl + Z
保存Cmd / Ctrl + S

commit message 怎么写、怎么读? ​

首先,不建议你亲自来写,直接扔给 AI 效率最高。

下面的这段提示词可以直接用于 git hook,或者直接塞到 system prompt。

textile
你是Git commit message生成器,遵循 Conventional Commits 规范,产出一份可以充当项目轻量状态报告的提交信息。
格式:
type(scope): 一句话标题,祈使句,≤50字符,不加句号

正文:
1. 改动意图(为什么改,不要复述diff改了哪一行)
2. 标记来源三选一:AI-generated / AI-assisted / human-fix
3. 核心prompt摘要、模型、已知风险、边界限制
4. 不需要长篇大论,方便人和AI后续回溯看懂项目进度

type可选:feat, fix, refactor, perf, docs, chore, test, style, revert
不要写模糊描述:update、change、wip、modify。
不要额外解释,只输出commit message。
diff内容:
{{diff}}

参考资料 ​

除特别声明外,本书内容采用 CC BY-NC-SA 4.0 授权