# 12.3 Git 提交规范 :::tip 概述 统一的 Git 提交规范有助于代码审查、版本管理和自动化工具集成。 ::: ## Commit Message 格式 ```html (): ``` ## 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): 增加请求级缓存减少重复查询" ``` ## 注意事项 :::warning 禁止事项 - 不要提交调试代码(`console.log`、`dump`、`var_dump`) - 不要提交敏感信息(密码、密钥、Token) - 不要提交 IDE 配置文件(`.idea/`、`.vscode/`) - 一个 commit 只做一件事 ::: ## .gitignore ```gitignore # ============================================================================= # .gitignore — Git 版本控制忽略规则 # ============================================================================= # 匹配的文件不会被 git track(不会提交到仓库) # ============================================================================= # ----------------------------------------------------------------------------- # 运行时目录(ThinkPHP 缓存、日志、编译模板 — 自动生成,无需版本控制) # ----------------------------------------------------------------------------- runtime/ vendor/ # ----------------------------------------------------------------------------- # 环境配置(包含数据库密码等敏感信息 — 绝不能提交) # ----------------------------------------------------------------------------- .env # ----------------------------------------------------------------------------- # IDE 配置文件(每个开发者的 IDE 设置不同 — 不应互相影响) # ----------------------------------------------------------------------------- .idea/ .vscode/ # ----------------------------------------------------------------------------- # 临时上传文件(用户上传的临时文件 — 不属于代码) # ----------------------------------------------------------------------------- uploads/temp/ # ----------------------------------------------------------------------------- # 前端依赖(node_modules 体积庞大 — 通过 pnpm install 重新安装即可) # ----------------------------------------------------------------------------- ui/node_modules/ ```