在工作中难免会出现代码仓库不能使用如:服务器磁盘跪了,高可用失效,地区级别的网络瘫痪,等等。

之前也听过Git的一大亮点为去中心话的可靠代码仓库,那么问题来了:

代码库真的宕机了,连不上了,在短时间内需要团队开发合并代码,协作开发,发布版本,笔者在网上搜索一圈没有人写过类似文章(也有可能大家都觉得这个太简单了),故写下自己意淫的方法,以及自己亲身的实施步骤:

1.png

好,现在问题来了,已经推不上去了,没办法和其他开发互动了


解决思路:

  1. 需要一个临时服务器来代替原先的宕机的服务器上面(可以是你自己的本机)保存代码库

  2. 在新的Git服务器上新建一个空的裸板库,以等把本机的代码推送上来

  3. 在新的Git服务器上新建推送用户

  4. 把本机的代码库的推送地址更换到新的服务器的地址



解决方法(以Linux服务器为例):


  • 安装GIT服务

CentOS
$ yum -y install git

Debian
$ apt-get -y install git



  • 添加git 用户

$ useradd git -d /home/git -s /bin/bash

$ passwd git


  • 切换到git用户下面新建裸板代码库

$ su - git

$ git init --bare demo.git
Initialized empty Git repository in /home/git/demo.git/


记住这个地址:/home/git/demo.git 这个就是新Git服务器的推送地址


  • 本地代码换源以及推送

读取origin的地址:

$ git remote show origin


2.png

以上就是为原始的Git仓库地址,现在要把他改掉:

$ git remote remove origin

使用这条命令就把git的远端推送源删除了,然后,现在就需要把他换成新的Git服务器地址:

$ git remote add origin git@10.0.0.183:/home/git/demo.git

这里的git为你一开始新建的用户,如果是其他的用户,请自行更改,后面的格式为固定的服务器目录格式

3.png

最后把本地的代码推送到新Git服务器上,如果有多个分支请一一推送


怎么样各位,久违的Git代码仓库又回来了,是不是很神奇!