签入版本
This commit is contained in:
@@ -1,117 +1,62 @@
|
||||
# 12.3 Git 提交规范
|
||||
# 12.5 Git 提交规范
|
||||
|
||||
:::tip 概述
|
||||
统一的 Git 提交规范有助于代码审查、版本管理和自动化工具集成。
|
||||
:::tip 必须遵守
|
||||
提交信息采用约定式格式:`类型(范围): 摘要`。一个提交一个主题,提交前本地过 `make check`。
|
||||
:::
|
||||
|
||||
## Commit Message 格式
|
||||
## 格式
|
||||
|
||||
```html
|
||||
<type>(<scope>): <subject>
|
||||
```text
|
||||
<类型>(<范围>): <摘要,祈使句,不带句号>
|
||||
|
||||
<body>
|
||||
<可选正文:动机与取舍>
|
||||
<可选脚注:关联需求/破坏性说明>
|
||||
```
|
||||
|
||||
## Type 类型
|
||||
示例:
|
||||
|
||||
| type | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| `feat` | 新功能 | `feat(user): 新增用户导入导出功能` |
|
||||
| `fix` | 修复 Bug | `fix(login): 修复验证码过期后仍可使用的问题` |
|
||||
| `docs` | 文档 | `docs: 更新 API 接口文档` |
|
||||
| `style` | 代码格式(不影响功能) | `style: 统一代码缩进` |
|
||||
| `refactor` | 重构 | `refactor(logic): 优化分页查询性能` |
|
||||
| `perf` | 性能优化 | `perf(dict): 增加字典缓存减少数据库查询` |
|
||||
| `test` | 测试 | `test: 添加用户模块单元测试` |
|
||||
| `chore` | 构建/工具 | `chore: 更新 Composer 依赖` |
|
||||
|
||||
## Scope 范围
|
||||
|
||||
| scope | 说明 |
|
||||
|-------|------|
|
||||
| `user` | 用户模块 |
|
||||
| `role` | 角色模块 |
|
||||
| `menu` | 菜单模块 |
|
||||
| `dict` | 字典模块 |
|
||||
| `job` | 定时任务 |
|
||||
| `auth` | 认证授权 |
|
||||
| `upload` | 文件上传 |
|
||||
| `generator` | 代码生成器 |
|
||||
| `config` | 配置 |
|
||||
| `deploy` | 部署 |
|
||||
|
||||
## 示例
|
||||
|
||||
```bash
|
||||
# -----------------------------------------------------------------------------
|
||||
# 新功能(feat)
|
||||
# -----------------------------------------------------------------------------
|
||||
# -m → 指定提交信息(单行简短描述)
|
||||
git commit -m "feat(article): 新增文章管理模块"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 修复 Bug(fix)
|
||||
# -----------------------------------------------------------------------------
|
||||
git commit -m "fix(login): 修复密码错误时未记录登录日志的问题"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 文档更新(docs)
|
||||
# -----------------------------------------------------------------------------
|
||||
git commit -m "docs: 补充多数据库部署文档"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 重构(refactor)
|
||||
# -----------------------------------------------------------------------------
|
||||
git commit -m "refactor(logic): 统一删除前校验逻辑"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 性能优化(perf)
|
||||
# -----------------------------------------------------------------------------
|
||||
git commit -m "perf(dict): 增加请求级缓存减少重复查询"
|
||||
```text
|
||||
feat(user): 用户导入增加手机号唯一校验
|
||||
fix(dict): 字典项变更未删除缓存导致显示名滞后
|
||||
refactor(repo): 基座 SoftDelete 条件参数成对传入
|
||||
docs(quickstart): 补充 Windows make.bat 说明
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
## 类型
|
||||
|
||||
:::warning 禁止事项
|
||||
- 不要提交调试代码(`console.log`、`dump`、`var_dump`)
|
||||
- 不要提交敏感信息(密码、密钥、Token)
|
||||
- 不要提交 IDE 配置文件(`.idea/`、`.vscode/`)
|
||||
- 一个 commit 只做一件事
|
||||
:::
|
||||
| 类型 | 含义 |
|
||||
|---|---|
|
||||
| feat | 新功能 |
|
||||
| fix | 缺陷修复 |
|
||||
| refactor | 重构(不改行为) |
|
||||
| perf | 性能 |
|
||||
| docs | 文档 |
|
||||
| test | 测试 |
|
||||
| build / ci | 构建与流水线 |
|
||||
| chore | 杂项 |
|
||||
|
||||
## .gitignore
|
||||
## 范围
|
||||
|
||||
```gitignore
|
||||
# =============================================================================
|
||||
# .gitignore — Git 版本控制忽略规则
|
||||
# =============================================================================
|
||||
# 匹配的文件不会被 git track(不会提交到仓库)
|
||||
# =============================================================================
|
||||
按模块/域命名:user、role、dict、job、upload、router、generator、frontend、deploy...
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 运行时目录(ThinkPHP 缓存、日志、编译模板 — 自动生成,无需版本控制)
|
||||
# -----------------------------------------------------------------------------
|
||||
runtime/
|
||||
vendor/
|
||||
## 纪律
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 环境配置(包含数据库密码等敏感信息 — 绝不能提交)
|
||||
# -----------------------------------------------------------------------------
|
||||
.env
|
||||
- **一个提交一个主题**:功能与格式化提交分离(禁大杂烩 diff)
|
||||
- **提交前**:`make check`(后端改动)/ `pnpm type:check + lint`(前端改动)
|
||||
- **不提交**:log/、upload/ 运行产物、.env、IDE 配置
|
||||
- **生成器产物**:与模板改动同一提交(保持可追溯)
|
||||
- **破坏性变更**(API 契约调整):提交正文显式标注并同步前端
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# IDE 配置文件(每个开发者的 IDE 设置不同 — 不应互相影响)
|
||||
# -----------------------------------------------------------------------------
|
||||
.idea/
|
||||
.vscode/
|
||||
## 分支建议
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 临时上传文件(用户上传的临时文件 — 不属于代码)
|
||||
# -----------------------------------------------------------------------------
|
||||
uploads/temp/
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 前端依赖(node_modules 体积庞大 — 通过 pnpm install 重新安装即可)
|
||||
# -----------------------------------------------------------------------------
|
||||
ui/node_modules/
|
||||
```text
|
||||
main 生产就绪
|
||||
develop 集成分支
|
||||
feat/* 功能
|
||||
fix/* 修复
|
||||
```
|
||||
|
||||
## 相关
|
||||
|
||||
- [11.11 CI/CD 与质量门禁](/zh/deploy/ci-cd.html)
|
||||
- [12.7 代码审查清单](/zh/standards/code-review.html)
|
||||
|
||||
Reference in New Issue
Block a user