git仓库迁移

git 仓库迁移到另外地址,怎么做

之前是这么干的,更改git地址,然后push。举个例子

$ git remote -v #查看远程地址
origin  git@git.gisfly.xyz:project/frontend.git (fetch)
origin  git@git.gisfly.xyz:project/frontend.git (push)

先在 git 创建一个项目,地址是 git@git.gisfly.xyz:test/frontend.git

然后通过 remote set-url 强制更改远程地址

$ git remote set-url origin git@git.gisfly.xyz:test/frontend.git

$ git remote -v 
origin  git@git.gisfly.xyz:test/frontend.git (fetch)
origin  git@git.gisfly.xyz:test/frontend.git (push)

最后全部push上去

$ git push -u origin --all 
$ git push -u origin --tags

或者不用 remote set-url,把原来的重命名,再新地址设置为origin

$ git remote rename origin old-origin
$ git remote add origin git@git.gisfly.xyz:test/frontend.git
$ git push -u origin --all
$ git push -u origin --tags

这时候会把所有本地分支都上传,然而,不是所有远程分支都能一起上传,该方法应该满足不了需求。要全部远程分支一起迁移,则需要使用 git push --mirror。下面重新实现整个过程:

  1. 在git服务器新建一个项目,命名 new_frontend,地址为 git@git.gisfly.xyz:test/new_frontend.git
  2. 重新 clone 原来整个项目,使用 --bare 参数
$ git clone --bare git@git.gisfly.xyz:project/frontend.git

这时本地生成了frontend.git 文件夹,带后缀 .git

  1. push 到新的项目地址
# 进入本地 git 仓库
$ cd frontend.git
# push 到新仓库
$ git push --mirror git@git.gisfly.xyz:test/new_frontend.git

至此,已将 git 仓库全部迁到新地址,包括所有分支。
注:git@git.gisfly.xyz:test/new_frontend.git 类似这种git地址,需要在git服务器上添加密钥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值