Files
whale-town-front/docs/git_commit_guide.md

158 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Git 提交规范
本文档定义了项目的 Git 提交信息格式规范,以保持提交历史的清晰和一致性。
## 提交格式
```
<类型><简短描述>
[可选的详细描述]
[可选的注释或关联 Issue]
```
## 提交类型
### 主要类型
| 类型 | 说明 | 示例 |
|------|------|------|
| `init` | 项目初始化 | `init项目初始化搭建Godot文件结构` |
| `feat` | 新增功能 | `feat添加角色移动系统` |
| `fix` | 修复 Bug | `fix修复角色跳跃时的碰撞检测问题` |
| `docs` | 文档更新 | `docs更新 README 中的安装说明` |
| `style` | 代码格式调整(不影响功能) | `style统一代码缩进格式` |
| `refactor` | 代码重构(不新增功能也不修复 Bug | `refactor重构敌人 AI 逻辑` |
| `perf` | 性能优化 | `perf优化场景加载速度` |
| `test` | 添加或修改测试 | `test添加角色控制器单元测试` |
| `chore` | 构建过程或辅助工具的变动 | `chore更新 .gitignore 文件` |
| `revert` | 回滚之前的提交 | `revert回滚 feat添加角色移动系统` |
### 场景和资源相关
| 类型 | 说明 | 示例 |
|------|------|------|
| `scene` | 场景文件相关 | `scene创建主菜单场景` |
| `asset` | 资源文件相关 | `asset添加角色精灵图和动画` |
| `ui` | UI 界面相关 | `ui设计游戏暂停菜单` |
| `audio` | 音频相关 | `audio添加背景音乐和音效` |
### 游戏开发特定类型
| 类型 | 说明 | 示例 |
|------|------|------|
| `gameplay` | 游戏玩法相关 | `gameplay实现敌人生成机制` |
| `level` | 关卡设计相关 | `level完成第一关卡设计` |
| `config` | 配置文件相关 | `config调整游戏难度参数` |
| `plugin` | 插件相关 | `plugin集成对话系统插件` |
## 提交示例
### 基础示例
```bash
# 项目初始化
git commit -m "init项目初始化搭建Godot文件结构"
# 新增功能
git commit -m "feat实现玩家角色的移动和跳跃"
# 修复问题
git commit -m "fix修复敌人穿墙的碰撞问题"
# 文档更新
git commit -m "docs添加 Git 提交规范文档"
```
### 带详细描述的示例
```bash
git commit -m "feat添加存档系统
- 实现游戏进度保存功能
- 支持多个存档槽位
- 添加自动保存机制
关联 Issue #12"
```
### 场景和资源示例
```bash
# 场景相关
git commit -m "scene创建战斗场景并配置相机"
# 资源相关
git commit -m "asset导入角色动画资源包"
# UI 相关
git commit -m "ui完成主菜单界面设计"
# 音频相关
git commit -m "audio添加脚步声和跳跃音效"
```
### 游戏开发示例
```bash
# 游戏玩法
git commit -m "gameplay实现道具拾取和使用系统"
# 关卡设计
git commit -m "level设计并实现第三关卡"
# 配置调整
git commit -m "config平衡敌人血量和伤害数值"
# 插件集成
git commit -m "plugin添加粒子效果插件"
```
### 重构和优化示例
```bash
# 代码重构
git commit -m "refactor重构角色状态机逻辑"
# 性能优化
git commit -m "perf优化大量敌人时的渲染性能"
# 代码格式
git commit -m "style统一 GDScript 代码风格"
```
## 注意事项
1. **使用中文冒号**:类型后使用中文冒号 `` 而非英文冒号 `:`
2. **简短明确**:描述应简洁明了,一般不超过 50 个字符
3. **动词开头**:描述部分使用动词开头,如"添加"、"修复"、"更新"等
4. **一次提交一个改动**:每次提交应该只包含一个逻辑改动
5. **详细描述**:对于复杂的改动,应该添加详细描述说明改动的原因和影响
## 分支命名规范
```bash
# 功能分支
feature/角色系统
feature/存档功能
# 修复分支
fix/碰撞检测
fix/音频播放
# 开发分支
dev
develop
# 发布分支
release/v1.0.0
release/v1.1.0
```
## 工具推荐
- **Commitizen**: 交互式提交信息生成工具
- **Git Hooks**: 使用 pre-commit 钩子自动检查提交格式
- **Conventional Commits**: 遵循约定式提交规范