在工作中難免會(huì)出現(xiàn)代碼倉(cāng)庫(kù)不能使用如:服務(wù)器磁盤(pán)跪了,高可用失效,地區(qū)級(jí)別的網(wǎng)絡(luò)癱瘓,等等。
之前也聽(tīng)過(guò)Git的一大亮點(diǎn)為去中心話的可靠代碼倉(cāng)庫(kù),那么問(wèn)題來(lái)了:
代碼庫(kù)真的宕機(jī)了,連不上了,在短時(shí)間內(nèi)需要團(tuán)隊(duì)開(kāi)發(fā)合并代碼,協(xié)作開(kāi)發(fā),發(fā)布版本,筆者在網(wǎng)上搜索一圈沒(méi)有人寫(xiě)過(guò)類似文章(也有可能大家都覺(jué)得這個(gè)太簡(jiǎn)單了),故寫(xiě)下自己意淫的方法,以及自己親身的實(shí)施步驟:
好,現(xiàn)在問(wèn)題來(lái)了,已經(jīng)推不上去了,沒(méi)辦法和其他開(kāi)發(fā)互動(dòng)了
解決思路:
1.需要一個(gè)臨時(shí)服務(wù)器來(lái)代替原先的宕機(jī)的服務(wù)器上面(可以是你自己的本機(jī))保存代碼庫(kù)
2.在新的Git服務(wù)器上新建一個(gè)空的裸板庫(kù),以等把本機(jī)的代碼推送上來(lái)
3.在新的Git服務(wù)器上新建推送用戶
4.把本機(jī)的代碼庫(kù)的推送地址更換到新的服務(wù)器的地址
解決方法(以Linux服務(wù)器為例):
- 安裝GIT服務(wù)
CentOS
$ yum -y install git
Debian
$ apt-get -y install git
- 添加git 用戶
$ useradd git -d /home/git -s /bin/bash
$ passwd git
- 切換到git用戶下面新建裸板代碼庫(kù)
$ su – git
$ git init –bare demo.git
Initialized empty Git repository in /home/git/demo.git/
記住這個(gè)地址:/home/git/demo.git 這個(gè)就是新Git服務(wù)器的推送地址
- 本地代碼換源以及推送
讀取origin的地址:
$ git remote show origin
以上就是為原始的Git倉(cāng)庫(kù)地址,現(xiàn)在要把他改掉:
$ git remote remove origin
使用這條命令就把git的遠(yuǎn)端推送源刪除了,然后,現(xiàn)在就需要把他換成新的Git服務(wù)器地址:
$ git remote add origin git@10.0.0.183:/home/git/demo.git
這里的git為你一開(kāi)始新建的用戶,如果是其他的用戶,請(qǐng)自行更改,后面的格式為固定的服務(wù)器目錄格式
最后把本地的代碼推送到新Git服務(wù)器上,如果有多個(gè)分支請(qǐng)一一推送
怎么樣各位,久違的Git代碼倉(cāng)庫(kù)又回來(lái)了,是不是很神奇!