签入版本
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# 12.3 Git 提交规范
|
||||
|
||||
:::tip 概述
|
||||
统一的 Git 提交规范有助于代码审查、版本管理和自动化工具集成。
|
||||
统一的 Git 提交规范有助于代码审查、版本管理和自动化工具集成。前端工程提供了 commitlint 配置(`ui/commitlint.config.js`,依赖中含 husky / lint-staged),按其规范提交可通过自动化校验。
|
||||
:::
|
||||
|
||||
## Commit Message 格式
|
||||
@@ -12,18 +12,31 @@
|
||||
<body>
|
||||
```
|
||||
|
||||
:::info 中文友好
|
||||
`ui/commitlint.config.js` 的 `headerPattern` 支持中文 type、全角括号与全角冒号,如 `新增(用户): 导入导出功能` 也可通过校验;建议仍统一使用下述标准 type。头部最长 108 字符。
|
||||
:::
|
||||
|
||||
## Type 类型
|
||||
|
||||
以 `ui/commitlint.config.js` 的 `type-enum` 为准:
|
||||
|
||||
| type | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| `feat` | 新功能 | `feat(user): 新增用户导入导出功能` |
|
||||
| `fix` | 修复 Bug | `fix(login): 修复验证码过期后仍可使用的问题` |
|
||||
| `docs` | 文档 | `docs: 更新 API 接口文档` |
|
||||
| `style` | 代码格式(不影响功能) | `style: 统一代码缩进` |
|
||||
| `refactor` | 重构 | `refactor(logic): 优化分页查询性能` |
|
||||
| `perf` | 性能优化 | `perf(dict): 增加字典缓存减少数据库查询` |
|
||||
| `style` | 代码格式(不影响功能) | `style: 统一代码缩进` |
|
||||
| `docs` | 文档 | `docs: 更新 API 接口文档` |
|
||||
| `test` | 测试 | `test: 添加用户模块单元测试` |
|
||||
| `chore` | 构建/工具 | `chore: 更新 Composer 依赖` |
|
||||
| `refactor` | 重构 | `refactor(service): 优化分页查询性能` |
|
||||
| `build` | 构建 | `build: 升级 Vite 构建配置` |
|
||||
| `ci` | CI 配置 | `ci: 补充后端 Pint 检查步骤` |
|
||||
| `chore` | 杂项/工具 | `chore: 更新 Composer 依赖` |
|
||||
| `revert` | 回滚 | `revert: 回滚 feat(user) 导入功能` |
|
||||
| `wip` | 进行中 | `wip(user): 导入导出开发中` |
|
||||
| `workflow` | 工作流 | `workflow: 调整分支保护规则` |
|
||||
| `types` | 类型定义 | `types: 补充前端 API 类型声明` |
|
||||
| `release` | 发版 | `release: v1.2.0` |
|
||||
|
||||
## Scope 范围
|
||||
|
||||
@@ -62,7 +75,7 @@ git commit -m "docs: 补充多数据库部署文档"
|
||||
# -----------------------------------------------------------------------------
|
||||
# 重构(refactor)
|
||||
# -----------------------------------------------------------------------------
|
||||
git commit -m "refactor(logic): 统一删除前校验逻辑"
|
||||
git commit -m "refactor(service): 统一删除前校验逻辑"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 性能优化(perf)
|
||||
@@ -73,45 +86,60 @@ git commit -m "perf(dict): 增加请求级缓存减少重复查询"
|
||||
## 注意事项
|
||||
|
||||
:::warning 禁止事项
|
||||
- 不要提交调试代码(`console.log`、`dump`、`var_dump`)
|
||||
- 不要提交敏感信息(密码、密钥、Token)
|
||||
- 不要提交调试代码(`console.log`、`dd()`、`dump`、`var_dump`)
|
||||
- 不要提交敏感信息(密码、密钥、Token、`.env`)
|
||||
- 不要提交 IDE 配置文件(`.idea/`、`.vscode/`)
|
||||
- 一个 commit 只做一件事
|
||||
:::
|
||||
|
||||
## .gitignore
|
||||
|
||||
项目根目录 `.gitignore` 关键规则:
|
||||
|
||||
```gitignore
|
||||
# =============================================================================
|
||||
# .gitignore — Git 版本控制忽略规则
|
||||
# .gitignore — Git 版本控制忽略规则(摘自项目根目录,含说明)
|
||||
# =============================================================================
|
||||
# 匹配的文件不会被 git track(不会提交到仓库)
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 运行时目录(ThinkPHP 缓存、日志、编译模板 — 自动生成,无需版本控制)
|
||||
# -----------------------------------------------------------------------------
|
||||
runtime/
|
||||
vendor/
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 环境配置(包含数据库密码等敏感信息 — 绝不能提交)
|
||||
# 环境配置与备份(包含数据库密码、JWT 密钥等敏感信息 — 绝不能提交)
|
||||
# -----------------------------------------------------------------------------
|
||||
.env
|
||||
.env.backup
|
||||
.env.production
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# IDE 配置文件(每个开发者的 IDE 设置不同 — 不应互相影响)
|
||||
# 运行时与依赖(自动生成/体积庞大,通过 composer install、npm install 重建)
|
||||
# -----------------------------------------------------------------------------
|
||||
.idea/
|
||||
.vscode/
|
||||
/vendor
|
||||
/node_modules
|
||||
/storage/*.key
|
||||
/storage/pail
|
||||
/public/build
|
||||
/public/hot
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 临时上传文件(用户上传的临时文件 — 不属于代码)
|
||||
# IDE 与系统文件(每个开发者的环境不同 — 不应互相影响)
|
||||
# -----------------------------------------------------------------------------
|
||||
uploads/temp/
|
||||
/.idea
|
||||
/.vscode
|
||||
/.fleet
|
||||
/.nova
|
||||
/.zed
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 前端依赖(node_modules 体积庞大 — 通过 pnpm install 重新安装即可)
|
||||
# 测试与工具缓存
|
||||
# -----------------------------------------------------------------------------
|
||||
ui/node_modules/
|
||||
*.log
|
||||
/.phpunit.cache
|
||||
.phpunit.result.cache
|
||||
.phpactor.json
|
||||
```
|
||||
|
||||
:::info 前端依赖
|
||||
前端依赖忽略规则由 `ui/node_modules`(`.gitignore` 中 `/node_modules` 对应各前端包目录)覆盖,`pnpm-lock.yaml` **必须提交**(保证依赖版本一致)。
|
||||
:::
|
||||
|
||||
Reference in New Issue
Block a user