在工作中难免会出现代码仓库不能使用如:服务器磁盘跪了,高可用失效,地区级别的网络瘫痪,等等。
之前也听过Git的一大亮点为去中心话的可靠代码仓库,那么问题来了:
代码库真的宕机了,连不上了,在短时间内需要团队开发合并代码,协作开发,发布版本,笔者在网上搜索一圈没有人写过类似文章(也有可能大家都觉得这个太简单了),故写下自己意淫的方法,以及自己亲身的实施步骤:
好,现在问题来了,已经推不上去了,没办法和其他开发互动了
解决思路:
1.需要一个临时服务器来代替原先的宕机的服务器上面(可以是你自己的本机)保存代码库
2.在新的Git服务器上新建一个空的裸板库,以等把本机的代码推送上来
3.在新的Git服务器上新建推送用户
4.把本机的代码库的推送地址更换到新的服务器的地址
解决方法(以Linux服务器为例):
安装GIT服务
$ 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 remote remove origin
使用这条命令就把git的远端推送源删除了,然后,现在就需要把他换成新的Git服务器地址:
$ git remote add origin git@10.0.0.183:/home/git/demo.git
这里的git为你一开始新建的用户,如果是其他的用户,请自行更改,后面的格式为固定的服务器目录格式
最后把本地的代码推送到新Git服务器上,如果有多个分支请一一推送
怎么样各位,久违的Git代码仓库又回来了,是不是很神奇!
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx