gitlab上如何将一个仓库中所有历史信息都提交到另一个仓库

本文介绍了如何在Gitlab上将一个包含大量分支和tag的仓库迁移到新仓库,同时保留所有历史记录。通过使用git命令行工具,首先创建所有远程分支的本地分支,然后使用脚本自动化处理,最后推送所有分支和tag到新的远程仓库。此过程涉及到git的分支管理、远程仓库操作及批量推送技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一个需求,在gitlab上有一个仓库,其中保留有大量的分支和tag信息;现在该仓库准备废弃,迁移到另外的仓库中,但是所有历史记录也要保存在新的仓库中。
gitlab上如果直接fork会把仓库fork成为自己私有的,这不符合要求。
git本身支持一个本地仓库对应多个远程仓库,只要使用下面命令即可

	git add name url

但是 git push 时,默认只能推送当前分支,当然也可以使用 -all 推送所有分支,不过这样的操作也只能推送本地已经创建出来的分支,而新拉取的仓库在刚开始时默认只有master一个分支,总不能手动一个个创建并关联远程吧。
其实这种根据远程分支创建所有本地分支的操作可以通过脚本创建,如果使用shell,可以这样操作:

第一步 创建所有分支
git branch -r | grep -v '\->' | while read remote
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值