Git远程仓库地址迁移后如何修改远程连接

近期由于部门的Git服务器因特殊原因被破坏,不得已Git服务器需要做迁移;

Git服务器老挂,老是push 失败。

废话不多说,直接上解决方案:

// 在项目目录下打开Git客户端

// 1. 检查当前分支情况
$ git branch -vv
  dev         411237c [origin/dev] fix:  "commit information"
* dev_gmq     c95565a [origin/dev_gmq: ahead 15] "commit information"
  master      f57fdce [origin/master: ahead 2, behind 1] fix: "commit information"

// 当前项目共三个分支,* 表示当前分支
// 左侧表示本地分支,右侧origin表示远程分支
// 左右关系为本地分支对应远程分支,push代码会推到所属远程分支


// 2. 因远程服务器地址更改,需要将本地与远程断开关联
$ git remote remove origin

// 该指令用于切断本地分支与远程关联


// 3. 在此检查当前分支情况
git branch -vv
  dev         411237c fix:  
* dev_gmq     c95565a Merge branch 'master' of http://**********
  master      f57fdce fix: 

// 发现只剩本地分支,与远程断开


// 4. 重新连接新的远程
$ git remote add origin https://*********************.git

// 该指令用于连接远程地址,origin后边跟项目在Git的新地址


// 5. 从新地址抓取分支情况
$ git fetch

// 执行该指令后会打印以下日志
from remote: Enumerating objects: 55, done.
remote: Counting objects: 100% (55/55), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 37 (delta 9), reused 7 (delta 0)
Unpacking objects: 100% (37/37), done.
From https://git.******************
 * [new branch]      dev         -> origin/dev
 * [new branch]      dev_gmq     -> origin/dev_gmq
 * [new branch]      master      -> origin/master

// 发现本地分支与远程分支一一对应,拉取成功
// 距离真正成功还差最后一步


// 6. 不知道当前分支在哪,可以任选一个分支checkout出来
$ git checkout dev_gmq
Already on 'dev_gmq'

// 发现正好处于要check的分支上,后边还会有最近的一些提交信息,没粘


// 7. 最后一步,将本地分支与远程建立关联
$ git branch -set-upstream-to=origin/dev_gmq
error: unknown switch `s'

// 一开始使用set选项仅写了一个"-",提示选择参数错误
// 正确指令
$ git branch --set-upstream-to=origin/dev_gmq
Branch 'dev_gmq' set up to track remote branch 'dev_gmq' from 'origin'.

// 使用正确指令,本地关联远程成功


// 8. 检查分支情况
$ git branch -vv
  dev         411237c fix:  
  master      f57fdce fix: 调试bug
* dev_gmq      546e1af [origin/dev_gmq: behind 3] fix: 

// 发现dev_gmq本地分支已经与远程的origin/dev_gmq分支关联


// 9. 最后,对所有分支执行第七步,将所有本地分支与远程分支关联即可
// 操作之后,在此检查分支情况
$ git branch -vv
  dev         411237c [origin/dev] fix:  测试
* dev_gmq     c95565a [origin/dev_gmq: ahead 15] Merge branch 'master'
  master      f57fdce [origin/master: ahead 2, behind 1] fix: 调试bug

// 至此,所有本地分支与远程已关联,over

 

总结Git指令:

// 1. 检查当前分支情况
$ git branch -vv


// 2. 因远程服务器地址更改,需要将本地与远程断开关联
$ git remote remove origin


// 3. 在此检查当前分支情况
git branch -vv


// 4. 重新连接新的远程
$ git remote add origin https://*********************.git


// 5. 从新地址抓取分支情况
$ git fetch


// 6. 不知道当前分支在哪,可以任选一个分支checkout出来
$ git checkout dev_gmq
Already on 'dev_gmq'


// 7. 最后一步,将本地分支与远程建立关联
$ git branch --set-upstream-to=origin/dev_gmq
Branch 'dev_gmq' set up to track remote branch 'dev_gmq' from 'origin'.

本文借鉴大佬,问题是前几天遇到的,当时只是把Git指令做了记录,所以趁周末抓紧来写一下记录一下,原文地址忘了。。。

周末愉快~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值