README.md 2.79 KB

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 自动调用。无需手动运行。

触发时机:每次提交代码后自动执行

工作流程

  1. 解析 commit message,提取 type(scope): subject 格式
  2. 根据 commit 类型映射到中文(feat→新增、fix→修复等)
  3. 生成 CHANGELOG 条目
  4. 自动插入到 docs/CHANGELOG.md 开头
  5. 如果 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 条时:

  1. 自动将旧记录移动到 docs/changelog-archive/
  2. 主文件只保留最近 20 条记录
  3. 归档文件以日期命名:CHANGELOG-archive-YYYYMMDD.md

📝 最佳实践

  1. 每次提交后检查:运行 pnpm changelog:check 确保没有漏记
  2. 及时记录:在提交代码时同步更新 CHANGELOG
  3. 定期归档:每月运行一次归档脚本