关于 conventional-commit
面向开发者和编码 Agent 的 Git 提交规范技能,涵盖 Conventional Commits 类型以及分支准备、主题、正文和破坏性变更规则。
主要功能
- 01按类型组织提交格式
- 02分支命名指导
- 03主题与正文规则
- 04破坏性变更和回滚格式
- 05单一变更提交原则
适用场景
- 01提交前准备功能分支
- 02编写修复、功能或重构提交
- 03说明 API 破坏性变更
- 04回滚先前的提交
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ marcelorodrigo/ agent-skills --skill conventional-commit安装后在 Claude Code 中输入/conventional-commit确认已加载。
详细介绍
Conventional Commit 提交信息
创建提交时,请遵循以下约定。
前置条件
提交前,请确保你正在功能分支上操作,而不是主分支。
# Check current branch
git branch --show-current
如果你在 main 或 master 分支上,请先创建一个新分支:
# Create and switch to a new branch
git checkout -b <type>/<short-description>
分支命名应遵循以下模式:<type>/<short-description>,其中 type 应与提交类型一致(例如 feat/add-user-auth、fix/null-pointer-error、refactor/extract-validation)。
格式
<type>(<scope>): <subject>
<body>
<footer>
标题行为必填项。范围可选。每行长度必须少于 100 个字符。
提交类型
| 类型 | 用途 |
|---|---|
build | 构建系统或 CI 变更 |
chore | 常规维护任务 |
ci | 持续集成配置 |
deps | 依赖项更新 |
docs | 文档变更 |
feat | 新功能 |
fix | Bug 修复 |
perf | 性能改进 |
refactor | 代码重构(不改变行为) |
revert | 撤销之前的提交 |
style | 代码风格和格式调整 |
test | 添加、更新或改进测试 |
主题行规则
- 使用祈使语气和现在时:“add feature”,而不是“added feature”
- 首字母不要大写
- 末尾不要加句号
- 最多 70 个字符
正文指南
- 说明是什么以及为什么,而非如何实现
- 使用祈使语气和现在时
- 说明变更的动机
- 适用时,对比之前的行为
Conventional Commits
提交包含以下结构元素,用于向库的使用者传达意图:
- fix:类型为 fix 的提交会修复代码库中的 Bug(对应语义化版本中的 PATCH)。
- feat:类型为 feat 的提交会为代码库引入新功能(对应语义化版本中的 MINOR)。
- BREAKING CHANGE:带有 BREAKING CHANGE: 页脚,或在类型/范围后追加 ! 的提交,会引入不兼容的 API 变更(对应语义化版本中的 MAJOR)。任何类型的提交都可以包含 BREAKING CHANGE。
- 允许使用 fix: 和 feat: 以外的类型,例如,@commitlint/config-conventional(基于 Angular 约定)推荐使用 build:、chore:、ci:、docs:、style:、refactor:、perf:、test: 等类型。
- 可以提供 BREAKING CHANGE: 以外的页脚,其格式遵循与 git trailer 格式相似的约定。
示例
简单修复
fix(api): handle null response in user endpoint
The user API could return null for deleted accounts, causing a crash
in the dashboard. Add null check before accessing user properties.
带范围的功能
feat(alerts): add Slack thread replies for alert updates
When an alert is updated or resolved, post a reply to the original
Slack thread instead of creating a new message. This keeps related
notifications grouped together.
重构
refactor: extract common validation logic to shared module
Move duplicate validation code from three endpoints into a shared
validator class. No behavior change.
不兼容变更
feat(api)!: remove deprecated v1 endpoints
Remove all v1 API endpoints that were deprecated in version 23.1.
Clients should migrate to v2 endpoints.
BREAKING CHANGE: v1 endpoints no longer available
撤销格式
revert: feat(api): add new endpoint
This reverts commit abc123def456.
Reason: Caused performance regression in production.
原则
- 每次提交都应是单一且稳定的变更
- 提交应可独立审查
- 每次提交后,代码库都应处于可正常工作的状态
参考资料
评论
支持 Markdown