极速迁移:GitLab项目无缝转移实战手册
📋 迁移前准备
1. 在目标平台创建新仓库
- 访问新GitLab实例
- 创建空仓库(不要初始化 README、.gitignore等)
- 记录新仓库URL:
https://@gitlab.xxx.cn/temp/TDS/xxsystem.git
2. 生成Access Token
- 登录新GitLab平台
- 点击头像 → Preferences → Access Tokens
- 创建新Token:
- Name:
Migration-Token
- Expires: 设置合适有效期
- Scopes: 勾选 ✅
api
✅read_repository
✅write_repository
- Name:
- 复制并保存Token(只显示一次)
🚀 迁移执行步骤
步骤1:进入本地项目目录
cd /path/to/your/local/project
步骤2:初始化Git仓库(如未初始化)
git init
步骤3:添加所有文件到暂存区
git add .
步骤4:提交更改
git commit -m "feat(model):init"
步骤5:配置远程仓库
# 移除原有的origin(如存在)
git remote remove origin# 添加新的远程仓库地址(使用HTTPS+Token)
git remote add origin https://oauth2:<YOUR_ACCESS_TOKEN>@gitlab.xxx.cn/temp/TDS/xxsystem.git
步骤6:推送到新仓库
# 如果本地分支是main
git push -u origin main# 如果本地分支是master
git branch -M master main
git push -u origin main# 或者推送当前分支(无论名称)
git push -u origin HEAD:main
🔧 问题解决方案
如果遇到分支错误:
# 检查当前分支
git branch# 如果显示master,重命名为main
git branch -M master main# 或者创建main分支
git checkout -b main
如果遇到认证错误:
# 方法1:在URL中直接嵌入Token
git remote set-url origin https://oauth2:YOUR_ACTUAL_TOKEN@gitlab.xxx.cn/temp/TDS/xxsystem.git# 方法2:使用凭据存储
git config --global credential.helper store
# 然后再次push,输入用户名和Token
如果需要迁移所有分支和标签:
# 推送所有分支
git push --all origin# 推送所有标签
git push --tags origin
✅ 迁移后验证
1. 检查远程连接
git remote -v
git remote show origin
2. 验证推送内容
# 查看推送的分支
git branch -r# 查看提交历史
git log --oneline -5
3. 在新平台确认
- 访问新GitLab仓库页面
- 确认文件结构完整
- 验证提交历史存在
🛡️ 安全注意事项
- Token保护:不要将Token提交到代码中
- 环境变量:考虑使用环境变量存储Token
- 权限控制:迁移完成后,根据需要调整仓库权限
- 撤销旧权限:在旧平台撤销相关访问权限
📝 完整命令序列(复制使用)
# 进入项目目录
cd your-project-folder# 初始化并提交
git init
git add .
git commit -m "feat(model):init"# 配置远程仓库(替换YOUR_TOKEN为实际Token)
git remote remove origin
git remote add origin https://oauth2:YOUR_TOKEN@gitlab.xxx.cn/temp/TDS/xxsystem.git# 推送代码
git push -u origin main
📢注意
不能在就仓库直接执行上述命令,因为远程仓库已经存在一些文件(比如 README、.gitignore 等),而你的本地仓库没有这些内容,导致冲突,可以将文件复制到新环境,在新环境路径下执行以下操作可以避免不必要麻烦。
按照这个流程,你的项目就能成功迁移到新的GitLab仓库了!