From 0dec0e2c941720786016256e6e4a913b1949cd58 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Thu, 26 Mar 2026 04:46:55 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20=E6=9B=B4=E6=96=B0=20Git=20Commi?= =?UTF-8?q?t=20=E8=A7=84=E8=8C=83=EF=BC=8C=E5=BC=BA=E8=B0=83=E5=8E=9F?= =?UTF-8?q?=E5=AD=90=E6=8F=90=E4=BA=A4=E5=8E=9F=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .trae/rules/git-commit-rules.md | 51 +++++++++++++++++++++---- .trae/skills/git-commit-skill/SKILL.md | 53 ++++++++++++++++++++------ 2 files changed, 85 insertions(+), 19 deletions(-) diff --git a/.trae/rules/git-commit-rules.md b/.trae/rules/git-commit-rules.md index fa7e555e..1f0966ab 100644 --- a/.trae/rules/git-commit-rules.md +++ b/.trae/rules/git-commit-rules.md @@ -2,11 +2,12 @@ ## 核心规则 -1. **分步提交**:分步执行 `git add <文件路径>` 再 `git commit -m " <描述>"` -2. **单一 emoji**:每条提交只使用一个 emoji,位于开头 -3. **Unicode 格式**:使用 Unicode emoji 图标(如 ✨),不要纯文本(如 `:sparkles:`) -4. **中文描述**:以动词开头,一行不超过 100 字符 -5. **禁止 type: 声明**:不要使用 `✨ feat: xxx` 格式 +1. **原子提交**:每个 commit 只包含一个主题的变更,不同主题的变更应分成多个 commit +2. **分步提交**:分步执行 `git add <文件路径>` 再 `git commit -m " <描述>"` +3. **单一 emoji**:每条提交只使用一个 emoji,位于开头 +4. **Unicode 格式**:使用 Unicode emoji 图标(如 ✨),不要纯文本(如 `:sparkles:`) +5. **中文描述**:以动词开头,一行不超过 100 字符 +6. **禁止 type: 声明**:不要使用 `✨ feat: xxx` 格式 ## 提交格式 @@ -14,6 +15,40 @@ <描述> ``` +## 原子提交原则 + +**每个 commit 应该只关注一个主题**,如果一次修改涉及多个方面,应该拆分成多个 commit: + +### ✅ 正确的提交方式 + +```bash +# 提交 1:重构组件逻辑 +git add src/components/viewpost/vp-overlay-image.vue +git commit -m "♻️ 重构图片浮窗组件拖拽缩放逻辑" + +# 提交 2:更新规范文档 +git add .trae/skills/typescript-standards/skill.md +git commit -m "📝 更新 TypeScript 类型注解规范" +``` + +### ❌ 错误的提交方式 + +```bash +# 不要将不同主题的变更混在一个 commit 中 +git add src/components/viewpost/vp-overlay-image.vue .trae/skills/typescript-standards/skill.md +git commit -m "♻️ 重构组件并更新 TypeScript 规范" # ❌ 包含两个主题 +``` + +### 拆分指南 + +| 场景 | 拆分方式 | +|------|---------| +| 代码重构 + 文档更新 | 分成两个 commit | +| 功能开发 + Bug 修复 | 分成两个 commit | +| 多个组件修改 | 按组件拆分 commit | +| 代码修改 + 配置文件 | 分成两个 commit | +| 功能开发 + 样式调整 | 分成两个 commit | + ## Emoji 速查 | 类别 | Emoji | 场景 | @@ -44,7 +79,9 @@ ``` ✨ 添加用户个人页面跳转功能 🐛 修复角色生日判断逻辑 -🩹 补充首页mini参数处理 +🩹 补充首页 mini 参数处理 ♻️ 重构数据库操作为事务模式 ⚡️ 优化角色列表渲染性能 -``` \ No newline at end of file +📝 更新 TypeScript 类型注解规范 +🎨 调整组件代码格式 +``` diff --git a/.trae/skills/git-commit-skill/SKILL.md b/.trae/skills/git-commit-skill/SKILL.md index 6b24fe53..c0952ad5 100644 --- a/.trae/skills/git-commit-skill/SKILL.md +++ b/.trae/skills/git-commit-skill/SKILL.md @@ -7,6 +7,25 @@ description: "Git commit 规范参考。Invoke when user wants to make commits, 本文档定义了项目提交信息的格式规范,确保提交历史清晰可读。 +## 核心原则 + +### 🎯 原子提交原则 + +**每个 commit 只包含一个主题的变更**。如果一次修改涉及多个方面,应该拆分成多个 commit: + +```bash +# ✅ 正确:拆分成两个独立的 commit +git add src/components/viewpost/vp-overlay-image.vue +git commit -m "♻️ 重构图片浮窗组件拖拽缩放逻辑" + +git add .trae/skills/typescript-standards/skill.md +git commit -m "📝 更新 TypeScript 类型注解规范" + +# ❌ 错误:不要混在一个 commit 中 +git add src/components/viewpost/vp-overlay-image.vue .trae/skills/typescript-standards/skill.md +git commit -m "♻️ 重构组件并更新 TypeScript 规范" +``` + ## 提交格式 ``` @@ -18,6 +37,16 @@ description: "Git commit 规范参考。Invoke when user wants to make commits, - **一行不超过 100 字符** - **禁止括号声明**:不要使用 `✨ feat(xxx)` 或 `✨ feat` 这种格式,仅保留图标 +## 拆分指南 + +| 场景 | 拆分方式 | 示例 | +|------|---------|------| +| 代码重构 + 文档更新 | 分成两个 commit | `♻️ 重构组件` + `📝 更新文档` | +| 功能开发 + Bug 修复 | 分成两个 commit | `✨ 添加功能` + `🐛 修复问题` | +| 多个组件修改 | 按组件拆分 commit | `♻️ 重构组件 A` + `♻️ 重构组件 B` | +| 代码修改 + 配置文件 | 分成两个 commit | `✨ 实现功能` + `🔧 更新配置` | +| 功能开发 + 样式调整 | 分成两个 commit | `✨ 添加功能` + `💄 调整样式` | + ## Emoji 选择指南 根据变更类型选择对应的 emoji: @@ -35,7 +64,7 @@ description: "Git commit 规范参考。Invoke when user wants to make commits, | Emoji | 场景 | 示例 | |-------|------|------| | 🐛 | Bug 修复 | `🐛 修复角色生日判断逻辑` | -| 🩹 | 小修复/补丁 | `🩹 补充首页mini参数处理` | +| 🩹 | 小修复/补丁 | `🩹 补充首页 mini 参数处理` | | ⚡️ | 性能优化 | `⚡️ 优化角色列表渲染性能` | | ♻️ | 重构 | `♻️ 重构数据库操作层` | | 💄 | UI/样式 | `💄 调整首页卡片布局` | @@ -47,7 +76,7 @@ description: "Git commit 规范参考。Invoke when user wants to make commits, |-------|------|------| | 🔥 | 删除代码/文件 | `🔥 移除废弃组件` | | ⚰️ | 删除死代码 | `⚰️ 清理未使用的导入` | -| 🗑️ | 代码弃用 | `🗑️ 弃用旧版API` | +| 🗑️ | 代码弃用 | `🗑️ 弃用旧版 API` | ### 📦 依赖/配置 | Emoji | 场景 | 示例 | @@ -81,8 +110,8 @@ description: "Git commit 规范参考。Invoke when user wants to make commits, ### 🔒 安全/权限 | Emoji | 场景 | 示例 | |-------|------|------| -| 🔒 | 安全问题 | `🔒 修复XSS漏洞` | -| 🔐 | 密钥/凭证 | `🔐 更新API密钥配置` | +| 🔒 | 安全问题 | `🔒 修复 XSS 漏洞` | +| 🔐 | 密钥/凭证 | `🔐 更新 API 密钥配置` | ### 📊 分析/监控 | Emoji | 场景 | 示例 | @@ -126,21 +155,21 @@ description: "Git commit 规范参考。Invoke when user wants to make commits, | ✈️ | 离线支持 | `✈️ 提升离线体验` | | 🦖 | 向后兼容 | `🦖 添加兼容性处理` | | 💸 | 金钱相关 | `💸 优化资源加载成本` | -| 👽 | API 变更 | `👽 适配新版API` | +| 👽 | API 变更 | `👽 适配新版 API` | | 🚚 | 移动/重命名 | `🚚 迁移文件到新目录` | | 📄 | 许可证 | `📄 添加 MIT 许可证` | | 💥 | 重大变更 | `💥 重构核心模块` | | 🍱 | 静态资源 | `🍱 更新应用图标` | -| ♿️ | 无障碍 | `♿️ 添加ARIA标签` | +| ♿️ | 无障碍 | `♿️ 添加 ARIA 标签` | | 🏷️ | 类型定义 | `🏷️ 完善类型定义` | | 🚩 | 功能开关 | `🚩 添加灰度开关` | | ⚗️ | 实验 | `⚗️ 尝试新方案` | | 🔍 | SEO | `🔍 优化页面索引` | -| 🙈 | .gitignore | `🙈 更新gitignore规则` | +| 🙈 | .gitignore | `🙈 更新 gitignore 规则` | | 📸 | 快照 | `📸 添加截图` | | 🥚 | 彩蛋 | `🥚 添加开发者彩蛋` | -| 🤡 | Mock | `🤡 添加mock数据` | -| 🍻 | 酒后代码 | `🍻 修复奇怪bug` | +| 🤡 | Mock | `🤡 添加 mock 数据` | +| 🍻 | 酒后代码 | `🍻 修复奇怪 bug` | | 💬 | 文本更新 | `💬 更新界面文案` | | 👥 | 贡献者 | `👥 更新贡献者列表` | @@ -148,15 +177,15 @@ description: "Git commit 规范参考。Invoke when user wants to make commits, ``` ✨ 添加用户个人页面跳转功能 -🐛 修复角色生日判断逻辑,优化返回结果 -🩹 补充首页mini参数&组件参数处理 +🐛 修复角色生日判断逻辑 +🩹 补充首页 mini 参数&组件参数处理 ♻️ 重构数据库操作为事务模式 ⚡️ 优化角色列表渲染性能 💄 调整深色模式配色方案 📝 添加组件使用文档 ⬆️ 更新依赖版本,修复安全警告 🔧 更新 vite 配置以支持新插件 -🚸 统一UIGF导出交互,导出前选择导出路径 +🚸 统一 UIGF 导出交互,导出前选择导出路径 💫 添加页面转场动画效果 🐛 修复抽卡记录导出为空的问题 🏗️ 引入 Pinia 状态管理