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

Git 提交信息验证器 - 检查是否符合约定式提交

4
0
0
0
提交信息验证器
0 / 50 字符(标题建议) 0 行
常用类型参考(点击可快速填入)
feat ✨ 新功能 fix 🐛 修复 docs 📝 文档 style 💄 格式 refactor ♻️ 重构 perf ⚡ 性能 test ✅ 测试 build 📦 构建 ci 🔧 CI/CD chore 🧹 杂项 revert ⏪ 回滚
常见问题 (FAQ)

约定式提交是一种提交信息格式规范,格式为 type(scope): description。它源于 Angular 团队,现已成为开源社区广泛采纳的标准。通过结构化的提交信息,可以实现自动化的版本号管理和 CHANGELOG 生成,与语义化版本(SemVer)紧密配合。常见的 type 包括 feat(新功能)、fix(修复)、docs(文档)等。

使用约定式提交有三大好处:
1. 自动化版本管理:工具(如 semantic-release)可以根据提交类型自动确定版本号变更(feat→次版本,fix→补丁版本,BREAKING CHANGE→主版本)。
2. 清晰的提交历史:团队成员可以快速了解每次提交的性质,便于代码审查和问题追溯。
3. 自动生成 CHANGELOG:可自动生成结构化的更新日志,减少手动维护成本。

有两种方式标记破坏性变更:
方式一(简洁):在 type/scope 后添加 !,例如 feat!: remove deprecated APIfeat(api)!: drop v1 support
方式二(详细):在提交信息的 footer 中添加 BREAKING CHANGE: 详细描述,并说明迁移方法。两种方式可以同时使用,确保工具和人类都能识别。

scope 是可选的,用于指明变更影响的模块或范围。常见 scope 包括:apiuiauthdbconfigdeps 等。建议团队统一 scope 命名规范,使用小写字母、连字符或点号,例如 user-authpayment.gateway。scope 应简洁有意义,避免过长。

约定式提交是语义化版本的完美搭档:
fix: 类型对应 PATCH 版本号(如 1.0.0 → 1.0.1)
feat: 类型对应 MINOR 版本号(如 1.0.0 → 1.1.0)
• 包含 BREAKING CHANGE! 的提交对应 MAJOR 版本号(如 1.0.0 → 2.0.0)
这使得自动化发布工具可以完全根据提交历史来决定版本号。

标题行:建议控制在 50 个字符以内,使用祈使语气(如"add"而非"added"),小写开头,结尾不加句号。
Body(可选):用空行与标题分隔,解释为什么做这个变更以及做了什么,而非如何实现。每行建议不超过 72 字符。
Footer(可选):引用关联 issue(如 Closes #123)、标注破坏性变更、或添加签名信息。