gitlab项目迁移

avatar 2021年1月8日18:13:26 评论 1,584 次浏览

前几天公司项目做迁移工作,原本是想把gitlab做备份然后还原,但是在新的环境里是想使用ldap做统一管理来着,但是旧的gitlab在安装的时候出现点问题还原到新的不能使用ldap,因为时间比较紧项目不多就想着手动迁移。下面记录一下迁移的方法,我们直接迁移只能迁移一个默认的master的分支,但是qa分支和dev分支的就不能迁移过去了,下面看一下我的方法:

[wolf@wulaoer.org 🔥🔥🔥 beaglo ]$ git clone http://git-old.wulaoer.org/wulaoer/golang.git
[wolf@wulaoer.org 🔥🔥🔥 beaglo ]$ cd golang
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git remote rename origin old-origin
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git remote add origin  http://git-new.wulaoer.org/wulaoer/golang.git
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git push origin --all
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git push origin --tags

我们需要先从旧的gitlab上把原代码git下来,然后给分支做一下重命名,修改一下旧的origin的地址为新的地址,这样就可以push到新的环境里了,最后一步--tags是push代码里的tag。如果有多个分支,需要切换一下分支在循环操作,下面是切换到qa分支

[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git checkout qa
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git checkout -b qa old-origin/qa
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git remote add old-origin/qa http://git-old.wulaoer.org/wulaoer/golang.git
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git pull old-origin/qa qa
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git push origin --all
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git push origin --tags

因为上面推送master分支的时候旧的origin还是原来的gitlab的地址,所以需要修改一下,修改后在把旧代码里的qa分支同步到本地,最后在push到新的环境中,以及tag。

[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git checkout dev  
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git checkout -b dev old-origin/dev
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git remote add old-origin/dev http://git-old.wulaoer.org/wulaoer/golang.git
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git pull old-origin/dev dev
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git push origin --all      
[wolf@wulaoer.org 🔥🔥🔥 golang ]$ git push origin --tags

dev分支的推送和qa分支的一样,只是循环即可。如果项目比较多,我们可以写一个代码,这里需要循环的是新的gitlab地址和旧的gitlab地址,在把三个分支写成不同的函数,然后调用即可。这个以后有时间在写,有兴趣的可以自己试试。先写这么多吧,看看其他的吧。

avatar
  • 未经博主允许,禁止转载本博客任何内容,如需转载请留言,谢谢合作!!!
  • 转载注明:gitlab项目迁移 | 吴老二

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: