# Git上传大项目到educoder的解决方案 ## 问题分析 您的项目包含以下大文件夹: - `frontend/node_modules/` (通常几十MB到几百MB) - `backend/__pycache__/` (Python缓存文件) - `文档模板:软件需求规格说明书(1).docx` (可能较大) ## 解决方案 ### 方案1:优化.gitignore + 分批上传 #### 步骤1:创建.gitignore文件 ```bash # 已创建.gitignore文件,排除不必要的文件 ``` #### 步骤2:清理已跟踪的大文件 ```bash # 如果已经初始化了git,需要清理缓存 git rm -r --cached frontend/node_modules/ git rm -r --cached backend/__pycache__/ git rm --cached "文档模板:软件需求规格说明书(1).docx" ``` #### 步骤3:分批提交 ```bash # 第一次提交:核心代码 git add backend/app/ backend/main.py backend/requirements.txt git commit -m "feat: 添加后端核心代码" # 第二次提交:前端源码 git add frontend/src/ frontend/public/ frontend/package.json frontend/tsconfig.json git commit -m "feat: 添加前端源码" # 第三次提交:配置和文档 git add README.md DEPLOYMENT.md *.bat *.ps1 git commit -m "feat: 添加项目配置和文档" ``` ### 方案2:使用Git LFS (推荐) #### 步骤1:安装Git LFS ```bash git lfs install ``` #### 步骤2:配置LFS跟踪大文件 ```bash # 跟踪大文档文件 git lfs track "*.docx" git lfs track "*.pdf" # 跟踪数据库文件 git lfs track "*.db" git lfs track "*.sqlite" ``` #### 步骤3:正常提交 ```bash git add .gitattributes git add . git commit -m "feat: 完整项目代码" git push origin main ``` ### 方案3:压缩优化上传 #### 步骤1:创建最小化版本 ```bash # 创建临时目录 mkdir temp_upload cd temp_upload # 复制核心文件 cp -r ../backend/app . cp ../backend/main.py . cp ../backend/requirements.txt . cp -r ../frontend/src . cp ../frontend/package.json . cp ../frontend/tsconfig.json . cp ../README.md . ``` #### 步骤2:创建安装脚本 ```bash # 创建install_dependencies.sh cat > install_dependencies.sh << 'EOF' #!/bin/bash echo "安装Python依赖..." pip install -r requirements.txt echo "安装Node.js依赖..." cd frontend npm install cd .. echo "项目依赖安装完成!" EOF ``` ### 方案4:使用Git子模块 #### 步骤1:分离前后端 ```bash # 将前端作为子模块 git submodule add frontend ``` ## 推荐执行步骤 1. **立即执行**: ```bash # 1. 初始化git(如果还没有) git init # 2. 添加.gitignore git add .gitignore git commit -m "feat: 添加.gitignore文件" # 3. 清理大文件 git rm -r --cached frontend/node_modules/ 2>/dev/null || true git rm -r --cached backend/__pycache__/ 2>/dev/null || true # 4. 分批提交 git add backend/ git commit -m "feat: 后端代码" git add frontend/src/ frontend/public/ frontend/package.json frontend/tsconfig.json git commit -m "feat: 前端源码" git add README.md DEPLOYMENT.md *.bat *.ps1 git commit -m "feat: 项目配置" # 5. 推送到educoder git remote add origin git push -u origin main ``` 2. **在educoder上创建README说明**: ```markdown # 项目安装说明 ## 环境要求 - Python 3.8+ - Node.js 14+ ## 安装步骤 1. 克隆项目 2. 安装Python依赖:`pip install -r backend/requirements.txt` 3. 安装前端依赖:`cd frontend && npm install` 4. 运行项目:参考README.md中的启动说明 ``` ## 注意事项 1. **node_modules** 不应该提交到git,应该通过 `npm install` 重新安装 2. **__pycache__** 是Python缓存,应该被忽略 3. **大文档文件** 可以考虑使用Git LFS或放在云存储 4. **数据库文件** 如果包含敏感数据,应该使用环境变量配置 ## 最终建议 推荐使用**方案1(优化.gitignore + 分批上传)**,这是最简单有效的方案。