记录一次久远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
相关推荐
悟空20164 小时前
001、Git开发流程规范
git
Li小李同学Li4 小时前
git学习【持续更新中。。。】
git·学习·elasticsearch
晨春计5 小时前
【git】
android·linux·git
念幽6 小时前
Git常用命令
git
神技圈子6 小时前
【git系列】git中的那些迷惑的术语以及概念详解
git
benben0447 小时前
Photoshop使用方法大全
git
ou.cs8 小时前
git 删除远程分支的几种写法
git
atlanteep8 小时前
Linux·权限与工具-git与gdb
linux·git
胆小鬼~18 小时前
【DAY20240918】03教你轻松配置 Git 远程仓库并高效推送代码!
git
哆啦安全21 小时前
git常用命令(patch补丁和解决冲突)
git