1+ ---
2+ description: Git 提交规范和最佳实践
3+ ---
4+
5+ # Git 提交规范
6+
7+ ## 提交信息格式
8+ 使用语义化提交信息格式,支持中英文:
9+
10+ ```
11+ <类型>(<范围>): <描述>
12+
13+ [可选的正文]
14+
15+ [可选的脚注]
16+ ```
17+
18+ ### 提交类型 (Type)
19+ | 类型 | 说明 | 示例 |
20+ |------|------|------|
21+ | `feat` | 新功能 | `feat: 添加插件配置说明` |
22+ | `fix` | 修复 | `fix: 修复配置文件类型错误` |
23+ | `docs` | 文档更新 | `docs: 翻译 viewport.md 为英文` |
24+ | `style` | 样式修改 | `style: 更新按钮 hover 样式` |
25+ | `refactor` | 重构 | `refactor: 重构主题样式结构` |
26+ | `i18n` | 国际化 | `i18n: 添加中文配置说明` |
27+ | `config` | 配置修改 | `config: 更新 VitePress 配置` |
28+ | `chore` | 构建/工具 | `chore: 更新依赖版本` |
29+
30+ ### 范围 (Scope)
31+ 根据修改的文件类型或功能模块:
32+
33+ | 范围 | 说明 | 文件路径示例 |
34+ |------|------|-------------|
35+ | `config` | 配置文件 | [.vitepress/config.ts](mdc:.vitepress/config.ts) |
36+ | `theme` | 主题样式 | [.vitepress/theme/](mdc:.vitepress/theme/) |
37+ | `plugins` | 插件文档 | [src/plugins/](mdc:src/plugins/) |
38+ | `guides` | 指南文档 | [src/guides/](mdc:src/guides/) |
39+ | `api` | API 文档 | [src/api/](mdc:src/api/) |
40+ | `zh` | 中文文档 | [src/zh/](mdc:src/zh/) |
41+ | `en` | 英文文档 | [src/](mdc:src/) |
42+
43+ ## 提交示例
44+
45+ ### 文档翻译
46+ ```bash
47+ # 好的示例
48+ docs(plugins): 翻译 viewport.md 为英文
49+ i18n(guides): 添加快速开始中文版本
50+
51+ # 避免
52+ update viewport
53+ translate file
54+ ```
55+
56+ ### 样式修改
57+ ```bash
58+ # 好的示例
59+ style(theme): 重置 markdown 按钮 hover 颜色
60+ feat(theme): 添加深色模式支持
61+
62+ # 避免
63+ fix css
64+ update styles
65+ ```
66+
67+ ### 配置更改
68+ ```bash
69+ # 好的示例
70+ config(vitepress): 添加 llmstxt 插件配置
71+ fix(config): 修复 TypeScript 类型错误
72+
73+ # 避免
74+ update config
75+ fix error
76+ ```
77+
78+ ## 提交前检查清单
79+
80+ ### 📋 必检项目
81+ - [ ] **文件完整性**:确保所有修改的文件都已暂存
82+ - [ ] **语法检查**:运行 `pnpm lint` 检查代码质量
83+ - [ ] **构建测试**:运行 `pnpm build` 确保构建成功
84+ - [ ] **双语同步**:如修改文档,确保中英文版本保持一致
85+
86+ ### 📝 文档类提交
87+ - [ ] **链接有效性**:检查所有内部和外部链接
88+ - [ ] **代码示例**:验证代码示例可以正常运行
89+ - [ ] **格式一致性**:保持 Markdown 格式规范
90+ - [ ] **术语统一**:使用项目术语对照表
91+
92+ ### 🎨 样式类提交
93+ - [ ] **响应式测试**:在不同屏幕尺寸下测试
94+ - [ ] **深色模式**:确保深色模式显示正常
95+ - [ ] **浏览器兼容**:在主流浏览器中验证
96+ - [ ] **CSS 变量**:优先使用 VitePress 主题变量
97+
98+ ## 提交频率建议
99+
100+ ### 🔄 及时提交
101+ - **单一功能**:完成一个功能点立即提交
102+ - **文档翻译**:翻译完一个文件就提交
103+ - **样式调整**:完成一个组件样式修改就提交
104+ - **配置更改**:配置修改并验证后立即提交
105+
106+ ### 🚫 避免的提交模式
107+ - **大批量提交**:一次性提交多个不相关的更改
108+ - **模糊描述**:使用 "fix", "update", "change" 等模糊词汇
109+ - **中英文混用**:提交信息语言不一致
110+ - **缺少范围**:没有明确指出修改的范围
111+
112+ ## 分支管理
113+
114+ ### 主要分支
115+ - **main**:稳定的生产版本
116+ - **develop**:开发分支,功能集成
117+ - **feature/**:功能分支,如 `feature/zh-translation`
118+ - **fix/**:修复分支,如 `fix/config-type-error`
119+
120+ ### 合并策略
121+ ```bash
122+ # 功能完成后合并到 develop
123+ git checkout develop
124+ git merge --no-ff feature/feature-name
125+
126+ # 发布时合并到 main
127+ git checkout main
128+ git merge --no-ff develop
129+ ```
130+
131+ ## 工具集成
132+
133+ ### 提交模板
134+ 可以设置 git 提交模板:
135+ ```bash
136+ git config commit.template .gitmessage
137+ ```
138+
139+ ### 自动化检查
140+ 推荐使用 husky + lint-staged 进行提交前自动检查:
141+ - ESLint 代码检查
142+ - Prettier 格式化
143+ - TypeScript 类型检查
144+ - Markdown 链接验证
0 commit comments