关于 writing-commit-messages
为开发者和团队提供一致的提交信息写作规范,涵盖格式、类型前缀、简洁主题及正文说明。
主要功能
- 01类型与范围格式
- 02主题长度和写作规则
- 03正文与页脚的使用建议
- 04破坏性变更标注规则
- 05提交时机与分组建议
适用场景
- 01为功能和修复编写清晰提交信息
- 02记录破坏性变更和问题引用
- 03让每次提交聚焦单一逻辑变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill writing-commit-messages安装后在 Claude Code 中输入/writing-commit-messages确认已加载。
详细介绍
编写提交消息
编写对人和机器都有用的提交消息。
格式
<type>(<optional scope>): <subject>
<optional body>
<optional footer>
主题行规则
- 主题行不超过 50 个字符
- 使用祈使语气:“add feature”,而不是“added feature”或“adding feature”
- 类型前缀后的首字母不要大写
- 末尾不要加句号
类型
| Type | 使用场景 |
|---|---|
feat | 面向用户的新功能 |
fix | 修复错误 |
refactor | 重构代码,但不改变行为 |
docs | 文档变更 |
test | 添加或更新测试 |
chore | 构建、CI、工具、依赖项 |
perf | 性能改进 |
style | 格式、空白字符(不包括 CSS) |
ci | CI/CD 流水线变更 |
revert | 撤销之前的提交 |
范围(可选)
受影响的代码库区域:
feat(auth): add OAuth2 login flowfix(api): handle null response from payments endpointrefactor(db): extract query builder into module
正文(需要时添加)
解释为什么,而不是做了什么(差异会说明做了什么):
fix(checkout): prevent duplicate order submissions
The submit button was not disabled after the first click,
allowing users to create multiple orders. This caused
duplicate charges in Stripe.
页脚(需要时添加)
BREAKING CHANGE: rename `getUserById` to `findUser`
Closes #456
Co-authored-by: Name <email>
示例
好的:
feat(dashboard): add real-time notification bell
fix: resolve race condition in WebSocket reconnect
refactor(api): consolidate error handling middleware
test: add integration tests for payment webhook
chore: upgrade TypeScript to 5.4
不好的:
fixed stuff
WIP
update
changes
asdf
何时提交
- 每次提交应代表一项逻辑变更
- 不要在同一次提交中混合重构和功能开发
- 不要提交尚未正常工作的代码(请改用
git stash) - 在功能分支上尽早且频繁地提交;如有需要,在合并前压缩提交
破坏性变更
如果提交引入了破坏性变更:
- 在类型后添加
!:feat(api)!: change auth token format - 在页脚中添加
BREAKING CHANGE:,并附上迁移说明
评论
支持 Markdown