GitHub 提交规范
提交信息格式
<type>(<scope>): <subject>
<body>
<footer>
类型 (Type)
- feat: 新功能
- fix: 修复bug
- docs: 文档更新
- style: 代码格式调整(不影响代码运行)
- refactor: 代码重构
- perf: 性能优化
- test: 测试相关
- chore: 构建过程或辅助工具的变动
- ci: CI/CD相关更改
- build: 构建系统或外部依赖更改
作用域 (Scope)
可选,用于说明提交影响的范围,例如:
api
: API相关ui
: 用户界面auth
: 认证相关db
: 数据库相关config
: 配置文件
主题 (Subject)
- 使用祈使句,以动词开头
- 首字母小写
- 结尾不加句号
- 不超过50个字符
正文 (Body)
- 可选,用于详细描述提交内容
- 使用祈使句
- 说明提交的动机和与之前行为的对比
页脚 (Footer)
- 可选,用于关闭Issue或描述破坏性变更
- 格式:
Closes #123
或BREAKING CHANGE: 描述
示例
新功能
feat(auth): 添加用户登录功能
- 实现用户名密码登录
- 添加JWT token验证
- 集成第三方OAuth登录
Closes #123
修复bug
fix(api): 修复用户列表分页问题
修复了当页码大于总页数时返回空数据的问题
文档更新
docs: 更新API文档
更新了用户管理相关的API接口文档
代码重构
refactor(ui): 重构用户界面组件
将用户信息展示组件拆分为更小的可复用组件
性能优化
perf(db): 优化数据库查询性能
- 添加索引优化用户查询
- 使用连接池减少连接开销
最佳实践
- 保持一致性: 团队内使用统一的提交规范
- 简洁明了: 提交信息要清晰表达变更内容
- 原子性: 每次提交只做一件事
- 及时提交: 避免大量代码一次性提交
- 使用工具: 可以使用commitizen等工具规范提交
常用工具
Commitizen
bash
npm install -g commitizen
npm install -g cz-conventional-changelog
Husky + lint-staged
bash
npm install husky lint-staged --save-dev
Git Hooks
bash
# 在.git/hooks/commit-msg中添加验证脚本
自动化
可以通过Git hooks或CI/CD工具自动验证提交信息格式,确保团队遵循统一的提交规范。
结语
本文档由AI自动生成,仅供参考和学习使用。如有错误或建议,欢迎反馈指正。