CHANGELOG 管理工具
检查和归档项目的 CHANGELOG 记录。
📁 文件说明
| 文件 | 说明 | 使用频率 |
|---|---|---|
update-changelog.sh |
自动更新 - 根据 commit message 自动更新 CHANGELOG.md | ⭐⭐⭐ 高频(自动) |
check-changelog.sh |
漏记检查 - 扫描 git 提交,检查 CHANGELOG 漏记 | ⭐⭐⭐ 高频 |
archive-changelog.sh |
归档脚本 - 当记录超过 20 条时自动归档 | ⭐ 低频 |
🚀 使用方式
自动更新 CHANGELOG(推荐)
说明:update-changelog.sh 是自动化脚本,通过 Git post-commit hook 自动调用。无需手动运行。
触发时机:每次提交代码后自动执行
工作流程:
- 解析 commit message,提取
type(scope): subject格式 - 根据 commit 类型映射到中文(feat→新增、fix→修复等)
- 生成 CHANGELOG 条目
- 自动插入到
docs/CHANGELOG.md开头 - 如果 CHANGELOG 有变更,会自动创建补充提交
类型映射:
-
feat→新增 -
fix→修复 -
docs→文档 -
style→样式 -
refactor→优化 -
perf→性能 -
test→测试 -
chore→配置 -
revert→回滚
手动运行(仅调试用):
./scripts/changelog/update-changelog.sh <commit-message-file>
去重机制:同一天相同主题的提交会分别记录,避免覆盖。
检查漏记
# 检查最近 7 天(默认)
pnpm changelog:check
# 检查最近 30 天
pnpm changelog:check:30
# 检查所有提交
pnpm changelog:check:all
# 直接运行
./scripts/changelog/check-changelog.sh 7
归档旧记录
# 直接运行归档脚本
./scripts/changelog/archive-changelog.sh
📋 检查输出示例
======================================
CHANGELOG 漏记检查工具
======================================
检查范围: 最近 7 天
[1/4] 正在获取 git 提交记录...
找到 5 个提交
[2/4] 正在读取 CHANGELOG 记录...
找到 3 条记录
[3/4] 正在对比...
[4/4] 生成报告...
⚠️ 发现 2 处漏记:
1. feat(plan): 添加计划书表单验证
提交: abc1234 (2026-02-14)
建议: 在 CHANGELOG 中添加此功能记录
2. fix(login): 修复登录跳转问题
提交: def5678 (2026-02-13)
建议: 在 CHANGELOG 中添加此修复记录
🔧 归档规则
当 docs/CHANGELOG.md 记录数超过 20 条时:
- 自动将旧记录移动到
docs/changelog-archive/ - 主文件只保留最近 20 条记录
- 归档文件以日期命名:
CHANGELOG-archive-YYYYMMDD.md
📝 最佳实践
-
每次提交后检查:运行
pnpm changelog:check确保没有漏记 - 及时记录:在提交代码时同步更新 CHANGELOG
- 定期归档:每月运行一次归档脚本