Git 提交指南
提交消息格式
<类型>(<作用域>): <主题(泰语或英语)>
[可选正文]
类型
| 类型 | 使用时机 |
|---|
feat | 添加新功能或页面 |
fix | 修复 Bug |
refactor | 重构代码,不改变行为 |
style | 仅 UI/CSS 更改(不涉及逻辑) |
chore | 配置、依赖、工具(如 prisma generate 等) |
docs | 文档或注释更改 |
perf | 性能优化 |
匹配此项目的作用域
| 作用域 | 对应位置 |
|---|
auth | src/lib/auth.ts、src/lib/auth-client.ts、(auth)/ 路由 |
product | (front)/product/、app-product-card.tsx |
cart | src/lib/cart-store.ts、购物车组件 |
course | (front)/course/、src/services/course-service.ts |
contact | (front)/contact/、src/app/api/contact/ |
prisma | prisma/schema.prisma、src/lib/prisma.ts |
ui | src/components/ui/、src/components/ |
layout | (front)/layout.tsx、(auth)/layout.tsx |
api | src/app/api/ |
config | next.config.ts、prisma.config.ts、.env |
主题规则
- 仅使用英语
- 简短描述,不超过 72 个字符
- 句末不加句号
- 使用现在时:使用 "add"、"fix"、"update",而不是 "added"、"fixed"
示例
feat(product): add product detail page
fix(cart): fix totalPrice calculation when qty is 0
chore(prisma): regenerate Prisma client after schema changes
style(ui): update badge color in hero component
refactor(auth): extract signIn logic from page component
feat(api): add GET /api/products endpoint with pagination
fix(contact): prevent XSS in email HTML template
注意事项
- 禁止提交
.env 文件 — 其中包含 BETTER_AUTH_SECRET 和 DATABASE_URL
generated/prisma/ 文件夹已加入 .gitignore — 无需暂存
- 如果修改了 schema,则必须在提交 schema 之前运行
npx prisma generate
- 不要无故使用
--no-verify 跳过钩子
提交前检查清单