用途:为 Git 版本控制提供一套自动化规范,覆盖提交信息、语义化版本、标签、变更日志与发布流程,适合需要统一版本管理标准的项目。
主要能力:
- 提交信息规范,格式为 <type>(<scope>): <subject>,type 包括 feat、fix、docs、style、refactor、perf、test、chore、ci、build、revert,scope 覆盖 auth、业务模块、日志/文件/接口、数据库/配置/依赖等,并可通过 git diff --cached 分析变更后自动生成。
- 语义化版本管理,格式 MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD];feat 递增 MINOR,fix 递增 PATCH,feat! 或 BREAKING CHANGE 递增 MAJOR,docs/style/refactor/test/chore 不递增;支持 alpha、beta、rc 预发布阶段;Node.js 改 package.json、Maven 改 pom.xml、Python 改 pyproject.toml 的 version 字段。
- Git Tag 规范,正式版本用 v{VERSION},预发布用 v{VERSION}-{PRERELEASE}.{N},推荐创建带注释标签:git tag -a v1.0.0 -m "Release v1.0.0";常用命令包括 git tag -l、git tag -l "v1.*"、git show、git tag -d、git push origin --delete、git push origin v1.0.0、git push origin --tags。
- Changelog 基于 Keep a Changelog,分类为 Added、Changed、Deprecated、Removed、Fixed、Security;可用 git log 配合 grep、sed 生成分类条目。
- Release Notes 模板包含新功能、Bug 修复、重大变更、依赖更新与完整变更日志链接。
- 自动化发布流程:检查状态、切主分支拉取、提交推送、更新版本文件、提交 chore: release、创建并推送 Tag、推送主分支;并给出发布检查清单。
限制与注意:Windows PowerShell 不支持 &&,需用 ; 或分开执行;无 head/grep/sed,改用 Select-Object、Select-String、-replace;避免 git push --force 到 main/master,改用 --force-with-lease;推送被拒绝可用 git pull --rebase;Tag 打错需删本地与远程后重打;发版应与 Changelog 同步。其他细节暂未提供。