记录一次久远git仓库迁移

因为项目需求,公司收购了一个第三方的项目,包含源码。需要将该项目上传到我们公司自己的gitlab上。没过脑子一顿操作:

java 复制代码
//查询远程链接
git remote -v
//删除原有链接
git remote rm origin
//如果需要修改分支名
git branch -m oldname newname
//修改为自己的gitlab地址
git remote add XXX
//推送
git push -u origin --all //全部分支

然后,,然后就报错了。。

报错信息:

java 复制代码
remote' fatal: pack exceeds maximum allowed size
fatal: shal file "<stdout>' write error: Broken pipecerror: remote unpack failed: index-pack abnormal exit

文件太大传不了。。查了一些相关问答。大部分说是两种原有原因:1.文件太大 2.历史commit太多,提交时需创建的对象太多。 反正就是传不了。

看了下解决办法,有的使用py脚本来处理,有些使用工具,我一个懒人,看着就头疼= =

最后想了想,一次性提交太大,我分开提交呗。

于是进行了如下操作:

1.从本地的git commit记录中,找到一个中间的commit,以此为基准,新建分支tmp。

2.将分支tmp提交gitlab

3.以otigin/tmp为基准新建分支origin/release

4.将本地release分支关联origin/release

最后push代码。终于提交上去了= = PS :如果很多,中间tmp分支可以建多个。

使用到的git命令:

java 复制代码
//设置本地分支与远程分支关联 可不同名
git branch --set-upstream-to=origin/release release
//刷新远程分支
git remote update origin --prune
//推送指定分支
git push -u origin release
相关推荐
SiYuanFeng9 小时前
新手学Git:如何把本地 Git 项目上传到 GitHub
git·github
前端若水10 小时前
git回退并合并分支操作
git
程序员鱼皮15 小时前
Git WorkTree 是什么?凭什么能让 AI 编程效率翻倍?
git·ai·程序员·编程·ai编程
懵逼的小黑子18 小时前
git与远程仓库创建连接
git
前端若水18 小时前
Git 撤销与恢复完全指南(超级详细版)
大数据·git·elasticsearch
golang学习记18 小时前
Git 2.54 来了,这个新命令让我终于敢重写历史了
git·后端
其实防守也摸鱼18 小时前
AWVS下载和安装保姆级教程
linux·服务器·git
前端若水18 小时前
Git 可以做的所有操作(完整分类)
大数据·git·elasticsearch
叹一曲当时只道是寻常19 小时前
Reference 工具安装与使用教程:一条命令管理 Git 仓库引用与知识沉淀
人工智能·git·ai·开源·github
前端若水20 小时前
Git 仓库管理命令完全指南(超级详细版)
大数据·git·elasticsearch