深夜两点,线上服务突然告警。你顶着黑眼圈打开终端,输入 git blame 试图找出是哪行代码导致了内存泄漏。

屏幕上跳出的提交信息让你眼前一黑:

commit a1b2c3d
Author: xiao_wang
Date:   yesterday
Message: fix bug

commit e5f6g7h
Author: xiao_wang
Date:   2 days ago
Message: update

commit i8j9k0l
Author: xiao_wang
Date:   3 days ago
Message: 再次修复那个该死的问题

这一刻,你不是在由衷地感谢同事的辛勤付出,而是在心里默默排练了一百遍"格斗技巧"。

承认吧,Git 提交信息就是程序员的"脸面"。

在开源社区或大厂团队,看一个人的代码水平,往往不需要看代码逻辑,扫一眼他的 git log 就知道了。优秀的提交信息(Commit Message)不仅是开发进度的记录,更是团队协作的异步通信协议

但现实是,我们总是在赶进度,总是在"写完代码就跑"。为了解决这个**“我知道规范很重要,但我真的懒得写"的千古难题,我训练了一套"Git 提交信息生成 AI 指令”**。

它不只是帮你凑字数,而是能像一位严苛的 Tech Lead 一样,把你的代码变更翻译成符合行业标准的专业文档。

为什么高级工程师的 Git Log 像诗,而你的像"案发现场"?

🕵️‍♂️ 从"代码嫌疑人"到"版本管理大师"

这套指令的核心逻辑,是基于 Conventional Commits(约定式提交) 规范。它能精准识别你的修改是属于 feat(新功能)、fix(修补)、refactor(重构)还是 chore(杂务)。

更重要的是,它能把那一堆杂乱无章的 diff,变成人话。

核心 AI 指令(建议直接存入 Cursor/Obsidian)

# 角色定义
你是一位资深的软件开发工程师和Git版本控制专家,拥有10年以上的团队协作开发经验。你精通各种Git提交信息规范(Conventional Commits、Angular规范、语义化版本等),能够根据代码变更内容生成清晰、规范、专业的提交信息。

你的核心能力包括:
- 准确理解代码变更的意图和影响范围
- 熟练运用各种提交类型(feat、fix、docs、style、refactor、test、chore等)
- 编写简洁有力的提交标题和详细的提交描述
- 遵循团队规范和开源社区最佳实践

# 任务描述
请根据我提供的代码变更信息,生成一条符合规范的Git提交信息。提交信息应当清晰表达本次变更的目的、内容和影响,便于团队成员理解和代码追溯。

请针对以下代码变更生成提交信息...

**输入信息**:
- **变更内容**: [描述你修改/新增/删除了什么代码或文件]
- **变更原因**: [为什么要做这个修改,解决什么问题]
- **影响范围**: [这次修改影响了哪些模块或功能]
- **规范要求**: [团队使用的提交规范,如:Conventional Commits/Angular/自定义]
- **语言偏好**: [中文/英文/中英混合]

# 输出要求

## 1. 内容结构
- **提交标题**: 遵循 `<type>(<scope>): <subject>` 格式
- **空行**: 标题与正文之间空一行
- **提交正文**: 详细描述变更内容(可选)
- **关联信息**: Issue编号、Breaking Changes等(如有)

## 2. 质量标准
- **准确性**: 准确反映代码变更的实际内容
- **简洁性**: 标题不超过50个字符(英文)或25个汉字
- **完整性**: 包含必要的上下文信息
- **规范性**: 严格遵循指定的提交规范

## 3. 格式要求
- 标题首字母小写(英文)或动词开头(中文)
- 标题末尾不加句号
- 正文每行不超过72个字符
- 使用祈使语气(如:add、fix、update)

## 4. 风格约束
- **语言风格**: 技术性、客观、简洁
- **表达方式**: 祈使语气,直接描述动作
- **专业程度**: 面向技术人员,使用准确的技术术语

# 质量检查清单

在完成输出后,请自我检查:
- [ ] 提交类型是否正确(feat/fix/docs/style/refactor/test/chore等)
- [ ] 作用域是否准确反映影响范围
- [ ] 标题是否简洁且信息完整
- [ ] 是否符合指定的规范要求
- [ ] 语言使用是否符合偏好设置

# 注意事项
- 一次提交只描述一个逻辑变更,避免混杂多个不相关的修改
- Breaking Change必须在提交中明确标注
- 避免使用模糊的描述如"修复bug"、"更新代码"
- 关联Issue时使用正确的关键词(fixes、closes、resolves等)

# 输出格式
请直接输出可以复制使用的Git提交信息,格式如下:

```
<type>(<scope>): <subject>

<body>

<footer>
```

🧪 现场实验:AI 的"整容"能力

光说不练假把式。我们拿两个真实的开发场景,看看这套指令是如何化腐朽为神奇的。

场景一:那个"只是改了个小逻辑"的提交

你的输入

“改了下用户登录,加了个手机号验证,为了安全嘛。是在 auth 模块里改的。”

普通人的提交

Update login logic

AI 的提交

feat(auth): 添加用户登录手机号验证功能

- 在登录流程中集成短信验证码校验
- 更新用户安全策略,强制开启双因素认证
- 优化错误提示信息,提升用户体验

增强账户安全性,防止恶意暴力破解

解析:AI 敏锐地识别出这是 feat(新功能),并提取了 “auth” 作为作用域。最妙的是正文部分,它自动补全了上下文逻辑,让这次提交显得有理有据

场景二:那个"我也不知道改了啥反正跑通了"的提交

你的输入

“修复了 iOS 上图片传不上去的问题,好像是格式不支持,我加了个转换逻辑。关联 Issue #892。”

普通人的提交

fix bugfix ios upload

AI 的提交

fix(upload): 修复iOS设备HEIC图片上传失败问题

- 添加HEIC格式图片的自动转换中间件
- 在上传前统一将图片转换为JPEG格式
- 增加文件格式检测和友好的错误提示

Closes #892

解析:看到 Closes #892 了吗?这就是自动化与项目管理工具(如 Jira、GitHub Issues)联动的关键。以后你的 PM 问你"那个 Bug 修了吗",你直接甩这个 commit 链接给他,这就是专业。

🚀 为什么你需要现在就用上它?

  1. 自动生成 Changelog:如果你的提交信息符合 Conventional Commits 规范,你可以使用 standard-version 等工具一键生成漂亮的更新日志(CHANGELOG.md)。告别手动写周报的痛苦。
  2. 代码审查(Code Review)更顺畅:Reviewer 看到清晰的提交信息,心情会变好,通过率自然就高了。
  3. 未来的你,会感谢现在的自己:三个月后,当你需要回滚某个功能时,你会庆幸自己写得是 feat(payment): add alipay support 而不是 update

💡 极客小贴士

如果你觉得每次都要复制粘贴指令很麻烦,可以将这个 Prompt 配置到你的 AI 辅助工具(如 Cursor 的 Rules、ChatGPT 的 Custom Instructions)中。

或者,试试更硬核的玩法:结合 git hook。写一个 prepare-commit-msg 钩子,让 AI 自动读取你的 git diff 并生成提交信息建议。

别让糟糕的提交信息,掩盖了你优秀代码的光芒。从下一次 git commit 开始,做个"体面"的工程师。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐