mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-02 12:37:35 +08:00
173 lines
3.4 KiB
Markdown
173 lines
3.4 KiB
Markdown
# .gitignore 规则说明
|
|
|
|
## 📋 概述
|
|
|
|
本项目的 `.gitignore` 文件已经过优化,包含了完整的忽略规则,确保敏感文件和不必要的文件不会被提交到版本控制中。
|
|
|
|
## 🔧 主要修复
|
|
|
|
### 1. **数据库文件忽略** ✅
|
|
**问题**: 原来缺少 `*.db` 文件的忽略规则
|
|
**解决**: 添加了完整的数据库文件忽略规则
|
|
|
|
```gitignore
|
|
# Database files
|
|
*.db
|
|
*.sqlite
|
|
*.sqlite3
|
|
db.sqlite3
|
|
```
|
|
|
|
### 2. **静态资源例外** ✅
|
|
**问题**: `lib/` 规则会忽略 `static/lib/` 中的本地 CDN 资源
|
|
**解决**: 添加例外规则,允许 `static/lib/` 被版本控制
|
|
|
|
```gitignore
|
|
# Python lib directories (but not static/lib)
|
|
lib/
|
|
!static/lib/
|
|
```
|
|
|
|
## 📂 完整规则分类
|
|
|
|
### Python 相关
|
|
```gitignore
|
|
__pycache__
|
|
*.so
|
|
.Python
|
|
build/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
lib/
|
|
lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
MANIFEST
|
|
*.manifest
|
|
*.spec
|
|
__pypackages__/
|
|
.venv
|
|
venv/
|
|
ENV/
|
|
env.bak/
|
|
venv.bak/
|
|
```
|
|
|
|
### 数据库文件
|
|
```gitignore
|
|
*.db
|
|
*.sqlite
|
|
*.sqlite3
|
|
db.sqlite3
|
|
```
|
|
|
|
### 日志和缓存
|
|
```gitignore
|
|
*.log
|
|
.cache
|
|
```
|
|
|
|
### 临时文件
|
|
```gitignore
|
|
*.tmp
|
|
*.temp
|
|
temp/
|
|
tmp/
|
|
```
|
|
|
|
### 操作系统生成的文件
|
|
```gitignore
|
|
.DS_Store
|
|
.DS_Store?
|
|
._*
|
|
.Spotlight-V100
|
|
.Trashes
|
|
ehthumbs.db
|
|
Thumbs.db
|
|
```
|
|
|
|
### IDE 和编辑器文件
|
|
```gitignore
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
```
|
|
|
|
### 环境配置文件
|
|
```gitignore
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
local_settings.py
|
|
```
|
|
|
|
### Node.js 相关
|
|
```gitignore
|
|
*node_modules/*
|
|
```
|
|
|
|
### 静态资源例外
|
|
```gitignore
|
|
!static/lib/
|
|
```
|
|
|
|
## 🎯 特殊说明
|
|
|
|
### 数据库文件保护
|
|
- **目的**: 防止敏感的用户数据和配置信息被意外提交
|
|
- **影响**: `xianyu_data.db` 等数据库文件不会被 Git 跟踪
|
|
- **好处**: 保护用户隐私,避免数据泄露
|
|
|
|
### 静态资源管理
|
|
- **目的**: 允许本地 CDN 资源被版本控制,提升中国大陆访问速度
|
|
- **规则**: `lib/` 被忽略,但 `static/lib/` 不被忽略
|
|
- **包含**: Bootstrap CSS/JS、Bootstrap Icons 等本地资源
|
|
|
|
### 环境配置保护
|
|
- **目的**: 防止敏感的环境变量和配置被提交
|
|
- **影响**: `.env` 文件和本地设置不会被跟踪
|
|
- **好处**: 保护 API 密钥、数据库连接等敏感信息
|
|
|
|
## 🧪 验证方法
|
|
|
|
可以运行以下测试脚本验证规则是否正确:
|
|
|
|
```bash
|
|
# 测试数据库文件忽略
|
|
python test_gitignore_db.py
|
|
|
|
# 测试静态资源例外
|
|
python test_gitignore.py
|
|
```
|
|
|
|
## 📊 当前项目状态
|
|
|
|
### 被忽略的文件
|
|
- `xianyu_data.db` (139,264 bytes) - 主数据库
|
|
- `data/xianyu_data.db` (106,496 bytes) - 数据目录中的数据库
|
|
- 各种临时文件、日志文件、IDE 配置等
|
|
|
|
### 不被忽略的重要文件
|
|
- `static/lib/` 目录下的所有本地 CDN 资源 (702 KB)
|
|
- 源代码文件 (`.py`, `.html`, `.js` 等)
|
|
- 配置模板文件 (`.yml.example`, `.env.example` 等)
|
|
- 文档文件 (`.md` 等)
|
|
|
|
## 🎉 优势总结
|
|
|
|
1. **数据安全**: 数据库文件不会被意外提交,保护用户数据
|
|
2. **配置安全**: 环境变量和敏感配置得到保护
|
|
3. **仓库整洁**: 临时文件、缓存文件等不会污染仓库
|
|
4. **本地资源**: CDN 资源可以正常版本控制,提升访问速度
|
|
5. **跨平台**: 支持 Windows、macOS、Linux 的常见忽略文件
|
|
6. **IDE 友好**: 支持 VSCode、IntelliJ IDEA 等常见 IDE
|
|
|
|
现在的 `.gitignore` 配置既保证了项目的安全性,又确保了必要文件的正常版本控制!
|