无需登录 数据私有 本地保存

CHANGELOG 生成器 - 基于约定式提交自动编写变更日志

9
0
0
0

CHANGELOG 生成器

基于 约定式提交 (Conventional Commits) 规范,自动解析提交记录并生成标准化的变更日志。

支持 git log --oneline 输出或手动整理的提交记录,每行一条。

配置选项
常见问题与知识点

约定式提交是一种规范化的提交信息格式,它定义了提交信息的结构:<type>[optional scope]: <description>。这种格式使得提交记录易于被人和机器解析,能够自动生成 CHANGELOG、确定版本号等。该规范由 Angular 团队率先推广,现已成为开源社区广泛采用的标准。详见 conventionalcommits.org

  • feat — 新功能 (Feature)
  • fix — 修复 Bug
  • docs — 文档更新
  • style — 代码格式调整(不影响逻辑)
  • refactor — 代码重构(不修复bug也不添加功能)
  • perf — 性能优化
  • test — 测试相关
  • chore — 构建过程或辅助工具的变动
  • ci — CI/CD 配置变更
  • build — 构建系统或外部依赖变更
  • revert — 回滚之前的提交

CHANGELOG(变更日志)是记录项目每个版本中所有显著变更的文件。它帮助用户和开发者了解每个版本的新功能、修复的 Bug 以及可能的破坏性变更。遵循 Keep a Changelog 规范,可以让变更日志更具可读性和一致性。一个好的 CHANGELOG 能极大提升开源项目的专业度和用户体验。

有两种方式标记破坏性变更:
1. 在类型后添加 !,例如:feat!: 重构用户认证 API
2. 在提交信息的 footer 中包含 BREAKING CHANGE:,后跟变更说明。
破坏性变更意味着新版本与之前版本不兼容,根据语义化版本规范,这应该触发主版本号的升级(如从 1.x 升级到 2.0)。

语义化版本(SemVer)格式为 MAJOR.MINOR.PATCH
MAJOR:不兼容的 API 修改(BREAKING CHANGE)
MINOR:向下兼容的功能新增(feat)
PATCH:向下兼容的 Bug 修复(fix)
结合约定式提交,可以自动判断版本号应当如何递增。详见 semver.org

1. 使用 git log --oneline 或类似命令获取提交记录。
2. 将提交记录粘贴到输入框中。
3. 填写版本号和发布日期。
4. 点击「生成 CHANGELOG」按钮。
5. 预览结果,点击「复制」或「下载 .md」保存变更日志。
您也可以点击「加载示例」查看工具的演示效果。

CHANGELOG 是面向开发者的详细技术变更记录,通常位于项目根目录的 CHANGELOG.md 文件中,记录所有类型的变更。
Release Notes 则更面向最终用户,通常发布在 GitHub Releases 页面,突出新功能和重要修复,语言更加通俗易懂。两者可以互补使用。

常用工具包括:
commitlint — 检查提交信息是否符合约定式提交规范
husky — 在 Git hooks 中自动校验提交信息
standard-version — 自动升级版本号并生成 CHANGELOG
semantic-release — 全自动的版本发布和 CHANGELOG 生成
commitizen — 交互式编写符合规范的提交信息