docs:创建git提交指导文档与命名规则指导文档,更新readme内容
This commit is contained in:
157
docs/git_commit_guide.md
Normal file
157
docs/git_commit_guide.md
Normal file
@@ -0,0 +1,157 @@
|
||||
# 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**: 遵循约定式提交规范
|
||||
Reference in New Issue
Block a user