记录一次久远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
相关推荐
yeziyfx9 小时前
vs code 使用Git拉取/克隆(clone)仓库项目
git·vscode
smachao17 小时前
Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
redis·git·bootstrap
szcsun518 小时前
git的常用命令
git
jian1105818 小时前
android studio 解决git用户名和用户邮箱不一致的问题
git
jian1105819 小时前
Mac git配置账号和邮箱,可以修改
git·macos
笨笨饿21 小时前
博客目录框架
c语言·开发语言·arm开发·git·嵌入式硬件·神经网络·编辑器
白玉cfc21 小时前
git协作开发
git·团队开发·远程工作
Rabbit_QL1 天前
【CI/CD】02_一次 git push 后发生了什么?CI 是怎么工作的
git·ci/cd
不会写DN1 天前
Git 开发中最常用的命令与场景
大数据·git·elasticsearch
张二娃同学1 天前
基于 Python 与 Tkinter 的猜数字游戏设计与实现:支持玩家猜数与 AI 反向推理
开发语言·git·python·游戏·开源