# Git 学习追踪指南 ## 概述 为了更好地追踪学习进度,我们将在每个 TODO 任务完成后使用 Git 创建提交记录。这样可以: 1. 记录每个学习阶段的代码状态 2. 方便回顾和比较不同阶段的实现 3. 建立良好的版本控制习惯 4. 为后续学习者提供清晰的学习路径 ## Git 提交策略 ### 提交消息格式 ``` feat: [阶段X] 任务描述 详细说明本阶段完成的功能和学习要点 ``` ### 学习阶段标签 - `stage-1`: 项目初始化和基础设置 - `stage-2`: 创建基本的 HTTP server 和路由结构 - `stage-3`: 实现用户数据模型和内存存储 - `stage-4`: 实现用户 CRUD API 端点 - `stage-5`: 添加请求验证和错误处理 - `stage-6`: 实现基础的身份认证(JWT) - `stage-7`: 添加 API 文档和测试用例 - `stage-8`: 扩展到 SQLite 数据库存储 - `stage-9`: 添加数据库迁移和连接池 - `stage-10`: 实现高级功能(分页、搜索、过滤) - `stage-11`: 添加日志记录和配置管理 - `stage-12`: 容器化部署准备 ## 执行步骤 每完成一个 TODO 任务后: 1. **初始化仓库**(仅第一次) ```bash git init git add .gitignore ``` 2. **添加文件到暂存区** ```bash git add . ``` 3. **创建提交** ```bash git commit -m "feat: [阶段X] 任务描述" ``` 4. **创建标签** ```bash git tag -a stage-X -m "完成阶段X: 任务描述" ``` ## 示例提交记录 ```bash # 阶段 1 git commit -m "feat: [阶段1] 项目初始化和基础设置 - 创建 Cargo.toml 配置文件 - 建立项目模块结构 - 配置依赖和开发环境 - 创建基础配置和错误处理模块" git tag -a stage-1 -m "完成阶段1: 项目初始化和基础设置" # 阶段 2 git commit -m "feat: [阶段2] 创建基本的 HTTP server 和路由结构 - 实现 main.rs 应用入口 - 创建路由配置模块 - 添加基础 HTTP 处理器 - 服务器成功启动并响应请求" git tag -a stage-2 -m "完成阶段2: 创建基本的 HTTP server 和路由结构" ``` ## .gitignore 文件 ```gitignore # Rust /target/ Cargo.lock # IDE .vscode/ .idea/ # 环境变量 .env # 日志文件 *.log # 数据库文件 *.db *.sqlite # 临时文件 *.tmp *.swp *~ ``` ## 学习价值 通过 Git 版本控制,学习者可以: 1. **回顾学习历程**: 通过 `git log --oneline` 查看学习进度 2. **比较代码变化**: 使用 `git diff stage-1..stage-2` 比较不同阶段 3. **回退到特定阶段**: 使用 `git checkout stage-X` 查看特定阶段的代码 4. **分支实验**: 创建分支尝试不同的实现方案 5. **学习最佳实践**: 培养良好的版本控制习惯 这种方法不仅有助于当前的学习,也为将来的项目开发建立了良好的基础。