Codex 自动分析改动及提交Commit.md 2.6 KB

我自己在 Codex 中常用的一套 Prompt(推荐)

#### Git 提交规范 每当你创建 git 提交时:

  • 提交前务必检查完整的代码差异(git diff)。
  • 使用约定式提交(Conventional Commits)规范编写一句话简明主旨。
  • 留出一行空行。
  • 以列表形式概括关键的代码变动。
  • 着重阐述目的和意图,而不是单纯地罗列文件名。
  • 注明任何破坏性变更(Breaking Changes)。
  • 如果涉及,注明数据库/表结构/API 接口的变更。
  • 绝不使用模糊笼统的提交信息,例如 "update"、"fix"、"modify" 或 "changes"。
  • 提交信息应当能让人无需打开代码差异,就能直接理解本次提交的目的。

示例:

feat(user): 添加邮箱验证功能

  • 添加验证令牌(token)的生成逻辑
  • 用户注册后发送验证邮件
  • 添加邮箱验证接口
  • 在未验证状态下禁止登录
  • 更新用户状态的处理方式

基于修改内容生成提交信息,在提交(commit)之前:

  1. 运行 git diff
  2. 审查完整的代码差异(diff)
  3. 概括关键变更
  4. 生成一个能反映实际代码变动的提交信息(commit message)

Git 提交规范

在进行 git 提交时:

  • 务必编写有意义的提交信息。
  • 第一行应为简明扼要的摘要(最多 72 个字符)。
  • 空出一行后,详细说明:
    • 变更了什么
    • 变更的原因
    • 任何重要的实现细节
  • 如果相关,注明受影响的模块或文件。
  • 使用祈使句。

示例:

feat(order): 支持部分退款

  • 添加部分退款工作流
  • 更新支付回调逻辑
  • 添加退款状态校验
  • 修改 OrderService 和 RefundService
  • 为 refund_records 添加数据库迁移

推荐采用 Conventional Commits

例如: feat(auth): 支持 GitHub OAuth 登录

  • 添加 OAuth 回调接口
  • 存储 GitHub 用户 ID
  • 支持账号绑定
  • 更新登录界面

或者:

fix(payment): 防止重复回调处理

  • 引入 Redis 分布式锁
  • 忽略重复的支付通知
  • 完善回调日志记录

如果希望每个 commit 都像 PR 一样详细

可以要求:

每个 git 提交必须包含:

<type>(<scope>): <summary>

Why:
- 为什么需要此变更(变更原因)。  

Changes:
- ...
- ...
- ...

Impact:
- ...
- ...
  
Testing:
- ...
 

例如:
feat(order): 支持延迟发货

Why:
- 商家需要提前安排发货计划。
  
Changes:
- 添加 shipment_time(发货时间)字段。
- 更新订单创建接口。
- 添加延迟发货定时任务。  

Impact:
- 订单模块
- 调度器

Testing:
- 单元测试
- 手动接口验证