ELI5 讲解 · changelog
中文 | English
changelog:给导师的改动交接表
"你今天到底改了啥?"——它用一张带序号的表格回答,每一条都有证据,外行也能看懂。
一句话类比:change-report 是只看 git 的记事员,changelog 是听你讲完全过程、再逐条对证据的交接秘书。它把对话里的实际改动整理成一张"Mentor 交接表":每个改动一个序号,写清以前的痛 → 现在的样子 → 交付到哪一步 → 怎么验证的,再附一张"每个文件对应哪条改动"的映射表。
开场必问两个问题(每次都问,不猜)
🎯
① 范围:本次还是本功能?
"本次" = 这个会话里改的;"本功能" = 这件事从头到现在的整个演进。同一句"记录改动",两个答案都合法,所以必须问。
🧬
② 粒度:终态还是逐版?
如果中间换过方案(v1 被 v2 替掉),问你:表格只记最终形态,还是每个版本各占一行?没换过就不问。
交接表长什么样
| 序号 | 改动事项 | 原背景/问题 | 本次实际改动 | 交付状态 | 验证结果 |
| 1 | 登录错误分类 | 以前不管哪种登录失败都提示同一句话,分不清是密码错了还是网络断了 | 现在密码错误、网络异常分别显示不同提示,一眼知道该重试还是改密码 | 未上传 | 本地测试通过 |
每行下面还有"具体改动文件"小节:哪个文件、新增还是修改、它为这条改动贡献了什么——不贴代码。
三条写死的规矩
1. 只记真的发生了的。计划和聊天里的"我们打算改 X"不算数——必须有文件、diff、commit、PR 之类的证据。没找到就输出固定一句话:"本次未发现已经落实的改动,不生成变更表格。"
2. 说人话(可读性闸门)。每行自问:没看过这个对话的人,能用一句大白话复述这条改了什么吗?复述不出来就重写。"以前…现在…"句式,术语必须带白话解释,禁止无主语的名词堆砌。
3. 交付状态三值,不冒领。未上传(只在本地)→ 已上传(推了远端)→ 已部署(线上生效)。本地测试通过不代表线上没问题——验证结果必须写明来自哪个环境。
它和 change-report 怎么选
怎么用
/changelog
记录本次改动(→ 它先问:本次 还是 本功能?)
相比云端有哪些改动(→ 分"本地未提交 / 本地独有 / 云端独有"三组列)
报告交付后它还会追问两件事:删改哪几条?要不要把表格导出成图片发给别人?默认只读——不写 CHANGELOG.md、不 commit、不 push。