ELI5 讲解 · changelog 中文 | English

changelog:给导师的改动交接表

"你今天到底改了啥?"——它用一张带序号的表格回答,每一条都有证据,外行也能看懂。
一句话类比:change-report 是只看 git 的记事员,changelog 是听你讲完全过程、再逐条对证据的交接秘书。它把对话里的实际改动整理成一张"Mentor 交接表":每个改动一个序号,写清以前的痛 → 现在的样子 → 交付到哪一步 → 怎么验证的,再附一张"每个文件对应哪条改动"的映射表。

开场必问两个问题(每次都问,不猜)

🎯

① 范围:本次还是本功能?

"本次" = 这个会话里改的;"本功能" = 这件事从头到现在的整个演进。同一句"记录改动",两个答案都合法,所以必须问。

🧬

② 粒度:终态还是逐版?

如果中间换过方案(v1 被 v2 替掉),问你:表格只记最终形态,还是每个版本各占一行?没换过就不问。

交接表长什么样

序号改动事项原背景/问题本次实际改动交付状态验证结果
1登录错误分类以前不管哪种登录失败都提示同一句话,分不清是密码错了还是网络断了现在密码错误、网络异常分别显示不同提示,一眼知道该重试还是改密码未上传本地测试通过

每行下面还有"具体改动文件"小节:哪个文件、新增还是修改、它为这条改动贡献了什么——不贴代码。

三条写死的规矩

1. 只记真的发生了的。计划和聊天里的"我们打算改 X"不算数——必须有文件、diff、commit、PR 之类的证据。没找到就输出固定一句话:"本次未发现已经落实的改动,不生成变更表格。"

2. 说人话(可读性闸门)。每行自问:没看过这个对话的人,能用一句大白话复述这条改了什么吗?复述不出来就重写。"以前…现在…"句式,术语必须带白话解释,禁止无主语的名词堆砌。

3. 交付状态三值,不冒领。未上传(只在本地)→ 已上传(推了远端)→ 已部署(线上生效)。本地测试通过不代表线上没问题——验证结果必须写明来自哪个环境。

它和 change-report 怎么选

change-report 输入:只有 git 视角:这段代码范围的改动 产出:正式备忘 + Word 落盘 changelog 输入:对话 + git + 测试 + 云端记录 视角:改动事项(外行可读) 产出:交接表(可导出图片),默认不落盘

怎么用

/changelog
记录本次改动(→ 它先问:本次 还是 本功能?)
相比云端有哪些改动(→ 分"本地未提交 / 本地独有 / 云端独有"三组列)

报告交付后它还会追问两件事:删改哪几条?要不要把表格导出成图片发给别人?默认只读——不写 CHANGELOG.md、不 commit、不 push。

这是 log-skill 仓库四件套讲解之一: worklog · alllog · change-report · changelog