使用约定式提交(Conventional Commits)从 Git 历史记录中生成结构化变更日志,支持多种格式、AI 增强型描述以及可自定义的范围……
Git Changerlog 生成器是一项面向实际任务的技能,主要用于Generate 结构化的变换日志来自 git 历史;支持常规的 承诺、 语义版本和多种输出格式;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
从 Git 历史记录中生成结构化的变更日志。支持约定式提交(Conventional Commits)、语义化版本控制(Semantic Versioning),以及多种输出格式。适用于发布准备、撰写发布说明或归档项目历史等场景。
# 为最新未发布变更生成变更日志 python3 scripts/generate_changelog.py # 在两个标签之间生成变更日志 python3 scripts/generate_changelog.py --from v1.2.0 --to v1.3.0 # 为最近 N 次提交生成变更日志 python3 scripts/generate_changelog.py --last 20 # 自指定日期起生成变更日志 python3 scripts/generate_changelog.py --since 2026-04-01
# Markdown(默认格式) python3 scripts/generate_changelog.py --format markdown # Keep a Changelog 格式(keepachangelog.com) python3 scripts/generate_changelog.py --format keepachangelog # GitHub Release 格式 python3 scripts/generate_changelog.py --format github-release # JSON(供程序化调用) python3 scripts/generate_changelog.py --format json
支持解析以下标准前缀:
feat: → 新功能fix: → Bug 修复refactor: → 代码重构docs: → 文档test: → 测试perf: → 性能优化ci: → CI/CD 相关chore: → 维护任务BREAKING CHANGE: → 破坏性变更(高亮显示)非约定式提交将被归类为“其他变更”,并辅以 AI 协助完成分类。
| 参数 | 说明 | 默认值 |
|---|---|---|
--from |
起始标签或提交哈希 | 上一个标签 |
--to |
结束标签或提交哈希 | HEAD |
--last |
最近 N 次提交 | 自上一个标签以来的所有提交 |
--since |
起始日期(YYYY-MM-DD) | 无 |
--format |
输出格式 | markdown |
--output |
输出至文件 | stdout |
--repo |
仓库路径 | 当前目录 |
--include-authors |
显示提交作者 | false |
--include-hashes |
显示提交哈希 | false |
--group-by |
按 type 或 scope 分组 |
type |
当作为智能体技能使用时,AI 可执行以下操作: