在工作中難免會出現(xiàn)代碼倉庫不能使用如:服務器磁盤跪了,高可用失效,地區(qū)級別的網(wǎng)絡癱瘓,等等。
之前也聽過Git的一大亮點為去中心話的可靠代碼倉庫,那么問題來了:
代碼庫真的宕機了,連不上了,在短時間內(nèi)需要團隊開發(fā)合并代碼,協(xié)作開發(fā),發(fā)布版本,筆者在網(wǎng)上搜索一圈沒有人寫過類似文章(也有可能大家都覺得這個太簡單了),故寫下自己意淫的方法,以及自己親身的實施步驟:
好,現(xiàn)在問題來了,已經(jīng)推不上去了,沒辦法和其他開發(fā)互動了
解決思路:
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倉庫地址,現(xiàn)在要把他改掉:
$ git remote remove origin
使用這條命令就把git的遠端推送源刪除了,然后,現(xiàn)在就需要把他換成新的Git服務器地址:
$ git remote add origin git@10.0.0.183:/home/git/demo.git
這里的git為你一開始新建的用戶,如果是其他的用戶,請自行更改,后面的格式為固定的服務器目錄格式
最后把本地的代碼推送到新Git服務器上,如果有多個分支請一一推送
怎么樣各位,久違的Git代碼倉庫又回來了,是不是很神奇!