记录一次久远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
相关推荐
海参崴-5 小时前
【Linux 项目自动化构建工具 -- make/makefile && 版本管理 Git 的使用&&第一个程序
linux·git·自动化
W-琑6 小时前
Git基本操作及操作原理
git
流星雨在线8 小时前
项目 Git 分支 + Tag 管理规范
git
爱宇阳8 小时前
Git Clone 完整入门指南(从 0 到团队实战)
git
为什么要做囚徒9 小时前
IDEA Git更新后.iml/.idea丢失、项目配置清空问题排查与解决
git·intellij-idea
卖报的大地主11 小时前
Learn Claude Code Agent 开发 | 12、目录级隔离:Git Worktree实现多任务并行无冲突
大数据·git·elasticsearch
Amnesia0_011 小时前
linux中的git和gdb
linux·运维·git
原来是猿11 小时前
Git【多人协作二】
git
小陈工12 小时前
2026年4月1日技术资讯洞察:AI芯片革命、数据库智能化与云原生演进
前端·数据库·人工智能·git·python·云原生·开源
我先去打把游戏先13 小时前
Git 一个本地仓库同时推送到两个远程仓库(私人 GitHub + 公司 Git)保姆级教程
git·vscode·单片机·嵌入式硬件·物联网·学习·github