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.
code-analysis/git_upload_guide.md

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. 立即执行
# 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
  1. 在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中的启动说明

注意事项

  1. node_modules 不应该提交到git应该通过 npm install 重新安装
  2. pycache 是Python缓存应该被忽略
  3. 大文档文件 可以考虑使用Git LFS或放在云存储
  4. 数据库文件 如果包含敏感数据,应该使用环境变量配置

最终建议

推荐使用方案1优化.gitignore + 分批上传),这是最简单有效的方案。