✅ 确认已创建新的 Git 仓库(如 GitHub/GitLab) ✅ 备份当前代码到本地压缩文件 ✅ 确认所有重要代码已提交到本地
# 1️⃣ 进入项目根目录
cd e:\complaint-system
# 2️⃣ 删除旧的 Git 仓库
rm -rf .git
# 3️⃣ 初始化全新的 Git 仓库
git init
# 4️⃣ 添加所有忽略规则生效后的文件
git add .
# 5️⃣ 第一次提交
git commit -m "Initial commit: 教育投诉平台源码"
# 6️⃣ 重命名主分支为 main(可选)
git branch -M main
# 7️⃣ 连接到远程仓库
git remote add origin <您的新仓库地址>
# 8️⃣ 推送到远程仓库
git push -u --force origin main
如果需要在保持提交历史的同时清理某些文件:
cd e:\complaint-system
# 查看所有可能被误提交的文件
git ls-files | grep -E "(reasonix|Demo|doc/)"
# 如果要移除特定文件但不删除历史记录
git rm --cached .reasonix/*
git rm --cached Demo/*
git rm --cached doc/*
# 提交更改
git commit -m "Remove non-code files from tracking"
# 然后重新关联新仓库
git remote set-url origin <您的新仓库地址>
git push -u --force origin main
.gitignore 是否生效# 查看未被追踪的文件
git status --ignored
# 应该看到以下标记为 'ignored' 的文件/文件夹:
# ? ignored/.reasonix/
# ? ignored/Demo/
# ? ignored/doc/
# ? ignored/h5-app/node_modules/
# 测试 h5-app 的 node_modules 是否被忽略
cd h5-app
ls node_modules # 应该是空输出或显示为 ignored
# 返回根目录
cd ..
# 在 git commit 之前运行以下检查
grep -r "password" --include="*.yml" --include="*.yaml" --include="*.properties" src/
grep -r "secret" --include="*.env*" src/
使用环境变量文件 (不被 Git 追踪):
complaint-admin/src/main/resources/application-dev.yml
应包含占位符:
spring:
datasource:
username: ${DB_USERNAME}
password: ${DB_PASSWORD}
url: jdbc:dm://localhost:5236?useSSL=false
本地覆盖配置文件:
创建 application-local.yml 并放入个人配置(加入.gitignore):
# 本地开发配置
spring:
datasource:
username: admin
password: your_password_here
# 1. 查看即将提交的所有文件
git status
# 2. 确认未包含的文件
git check-ignore -v .reasonix/
git check-ignore -v Demo/
git check-ignore -v doc/
git check-ignore -v h5-app/node_modules/
# 预期输出:
# ignore:.reasonix/
# ignore:Demo/
# ignore:doc/
# ignore:h5-app/node_modules/
# 替换为您的实际仓库地址
git remote add origin git@github.com:your-username/complaint-system.git
# 或者 HTTPS 方式
# git remote add origin https://github.com/your-username/complaint-system.git
# 推送
git push -u origin main
# 如果是首次推送到私有仓库
git push -u origin main --force
推送后,请在新克隆的仓库中验证:
# 1. 全新克隆(在其他机器上)
git clone <您的仓库地址>
cd complaint-system
# 2. 确认不包含以下文件
ls .reasonix # ❌ 应该不存在
ls Demo # ❌ 应该不存在
ls doc/ # ❌ 应该不存在
ls h5-app/node_modules/ # ❌ 应该不存在
# 3. 确认核心文件存在
ls pom.xml # ✅
ls h5-app/package.json # ✅
ls ruoyi-ui/package.json # ✅
# 强制从缓存中移除文件
git rm --cached -r .reasonix/
git rm --cached -r Demo/
git rm --cached -r doc/
# 重新提交
git commit -m "Update gitignore to exclude non-code files"
# 使用 git-filter-repo 工具(推荐)
pip install git-filter-repo
git filter-repo --path .reasonix/ --invert-paths
git filter-repo --path Demo/ --invert-paths
# 或者手动清理历史
git filter-branch --prune-empty --path .reasonix/ HEAD~10..HEAD
# 使用 git-lfs(可选)
# 如果必须存储某些构建产物,可以使用 LFS
git lfs install
git lfs track "*.lock"
# 但推荐完全不追踪 node_modules
echo "node_modules/" >> .gitignore
git rm -r --cached node_modules/
成功迁移后的项目树(.gitignore 生效状态):
complaint-system/
├── .gitignore ✅
├── pom.xml ✅
├── sql/ ✅ (数据库脚本)
├── complaint-admin/ ✅
├── complaint-common/ ✅
├── complaint-workorder/ ✅
├── ruoyi-ui/
│ ├── node_modules/ ❌ (被忽略)
│ ├── .gitignore ✅
│ └── src/ ✅
├── h5-app/
│ ├── node_modules/ ❌ (被忽略)
│ ├── .gitignore ✅
│ └── src/ ✅
├── Demo/ ❌ (被忽略)
├── reasonix/ ❌ (被忽略)
├── doc/ ❌ (被忽略)
└── ...其他源代码 ✅
建议添加项目说明:
# 教育投诉平台
## 技术架构
- 后端:Spring Boot + MyBatis + 达梦数据库
- PC 前端:Vue3 + Element Plus + Vite
- H5 前端:Vue3 + Vant
## 快速开始
bash
./ry.sh start
cd ruoyi-ui && npm run dev
cd h5-app && npm run dev
## 注意事项
- `node_modules/` 不会被 Git 追踪
- 数据库配置请在本地 `application-local.yml` 中设置
- 详见 SQL 文档和开发规范文档
如果遇到任何 Git 相关问题,请提供:
# 获取调试信息
git version
git config --global --list
git remote -v
祝您的项目顺利迁移到新仓库!🎉