Files
rust-user-api/git_learning_guide.md
enoch 28afc7532f feat: [阶段1] 项目初始化和基础设置
- 创建 Cargo.toml 配置文件,包含所有必要依赖
- 建立完整的项目模块结构(config, models, handlers, routes, services, storage, middleware, utils)
- 实现用户数据模型和内存存储
- 创建基础的 HTTP 处理器和路由配置
- 添加错误处理和 JWT 认证中间件
- 配置环境变量和日志系统
- 创建项目文档和学习指南
- 服务器可以成功编译和启动
2025-08-04 16:49:50 +08:00

121 lines
2.7 KiB
Markdown
Raw Permalink 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 学习追踪指南
## 概述
为了更好地追踪学习进度,我们将在每个 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. **学习最佳实践**: 培养良好的版本控制习惯
这种方法不仅有助于当前的学习,也为将来的项目开发建立了良好的基础。