- 创建 Cargo.toml 配置文件,包含所有必要依赖 - 建立完整的项目模块结构(config, models, handlers, routes, services, storage, middleware, utils) - 实现用户数据模型和内存存储 - 创建基础的 HTTP 处理器和路由配置 - 添加错误处理和 JWT 认证中间件 - 配置环境变量和日志系统 - 创建项目文档和学习指南 - 服务器可以成功编译和启动
121 lines
2.7 KiB
Markdown
121 lines
2.7 KiB
Markdown
# 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. **学习最佳实践**: 培养良好的版本控制习惯
|
||
|
||
这种方法不仅有助于当前的学习,也为将来的项目开发建立了良好的基础。 |