Git服务器宕机如何使用本地克隆仓库快速恢复Git服务器

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

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

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

Git服务器宕机如何使用本地克隆仓库快速恢复Git服务器

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

解决思路:

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

Git服务器宕机如何使用本地克隆仓库快速恢复Git服务器

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

$ git remote remove origin

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

$ git remote add origin [email protected]:/home/git/demo.git

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

Git服务器宕机如何使用本地克隆仓库快速恢复Git服务器

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

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

相关推荐