浏览 AI使用教程
AI 写 Git commit message:用真实 diff 和测试生成提交说明
提交说明应该让审查者快速看懂真实改动、原因和验证结果。它必须来自 diff 与测试,而不是把一个文案修改包装成“全面优化”。
需要哪一项,就直接查到哪一段
把表格、命令、清单或规则作为工作中的查询工具,不要求从头顺序阅读。
一条好 commit message,首先不能比真实 diff 更夸张
提交说明写“优化系统性能并修复多项问题”,真实 diff 只是给搜索空状态加一句文案。夸大的说明让审查者误判风险。
- 标题能由 diff 直接支持
- 测试命令和结果真实
- 风险与未验证项没有隐藏
基于 diff 和测试的提交/PR 说明要写清哪些字段
| 要记录的内容 | 怎么填写 | 检查点 |
|---|---|---|
| 收窄提交范围 | 检查暂存文件和 diff,排除凭证、临时文件、无关格式化和用户未授权改动。 | 提交内容 |
| 写变更原因 | 说明用户或系统问题、旧行为和期望,不用“优化代码”代替。 | Why |
| 概括实现 | 按行为或模块描述实际差异,引用关键文件,但不逐文件复述。 | What |
| 列验证证据 | 写实际运行的测试、构建、截图或手工步骤和结果,未运行项明确说明。 | How tested |
| 说明风险与回滚 | 列数据迁移、兼容性、配置、部署和回滚要求。 | Review focus |
同一diff与完整提交说明
教学diff
两个文件,一种行为
--- a/src/search.mjs +++ b/src/search.mjs - export const emptyText = '暂无数据'; + export const emptyText = '没有找到结果,请换一个关键词'; --- a/tests/search.test.mjs +++ b/tests/search.test.mjs - assert.equal(emptyText, '暂无数据'); + assert.equal(emptyText, '没有找到结果,请换一个关键词');
Commit
限定行为
fix(search): clarify empty result guidance
PR正文
不宣称无证据收益
搜索没有结果时,旧提示没有说明下一步。现在空态显示“没有找到结果,请换一个关键词”,并更新文案断言。 验证:本教学片段未执行测试;真实提交前运行仓库现有定向测试并附结果。桌面/手机换行、键盘与全量套件尚未验证。 审查重点:没有修改搜索算法;长文案的窄屏换行仍需浏览器确认。 回退:仅回退本次两处文案补丁,保留其它修改。
这份基于 diff 和测试的提交/PR 说明服务哪项任务
| 需要确认 | 本例内容 |
|---|---|
| 现有材料 | 搜索文案与测试期望的教学diff,本文没有真实PR、截图或测试执行记录。 |
| 不能越过的边界 | 说明只基于真实 diff 和测试;未运行项与风险明确;不宣称性能、上线或用户效果。 |
| 要交付的结果 | 基于 diff 和测试的提交/PR 说明 |
完成后的基于 diff 和测试的提交/PR 说明
说明只陈述空态提示变化。教学PR把验证写为未运行;实际执行后补命令、结果与截图,不沿用无关分页用例数字。
为什么“说明与 diff 一致,却遗漏兼容风险”还不能交付
说明与 diff 一致,却遗漏兼容风险
- 原因
- 只总结改了什么,没有写影响面和未测项
- 怎么改
- 从依赖、状态和调用方检查潜在回归,并将未验证内容单列
