You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.7 KiB
3.7 KiB
Git上传大项目到educoder的解决方案
问题分析
您的项目包含以下大文件夹:
frontend/node_modules/(通常几十MB到几百MB)backend/__pycache__/(Python缓存文件)文档模板:软件需求规格说明书(1).docx(可能较大)
解决方案
方案1:优化.gitignore + 分批上传
步骤1:创建.gitignore文件
# 已创建.gitignore文件,排除不必要的文件
步骤2:清理已跟踪的大文件
# 如果已经初始化了git,需要清理缓存
git rm -r --cached frontend/node_modules/
git rm -r --cached backend/__pycache__/
git rm --cached "文档模板:软件需求规格说明书(1).docx"
步骤3:分批提交
# 第一次提交:核心代码
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
git lfs install
步骤2:配置LFS跟踪大文件
# 跟踪大文档文件
git lfs track "*.docx"
git lfs track "*.pdf"
# 跟踪数据库文件
git lfs track "*.db"
git lfs track "*.sqlite"
步骤3:正常提交
git add .gitattributes
git add .
git commit -m "feat: 完整项目代码"
git push origin main
方案3:压缩优化上传
步骤1:创建最小化版本
# 创建临时目录
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:创建安装脚本
# 创建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:分离前后端
# 将前端作为子模块
git submodule add <frontend-repo-url> frontend
推荐执行步骤
- 立即执行:
# 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 <educoder-repo-url>
git push -u origin main
- 在educoder上创建README说明:
# 项目安装说明
## 环境要求
- Python 3.8+
- Node.js 14+
## 安装步骤
1. 克隆项目
2. 安装Python依赖:`pip install -r backend/requirements.txt`
3. 安装前端依赖:`cd frontend && npm install`
4. 运行项目:参考README.md中的启动说明
注意事项
- node_modules 不应该提交到git,应该通过
npm install重新安装 - pycache 是Python缓存,应该被忽略
- 大文档文件 可以考虑使用Git LFS或放在云存储
- 数据库文件 如果包含敏感数据,应该使用环境变量配置
最终建议
推荐使用方案1(优化.gitignore + 分批上传),这是最简单有效的方案。