Git服務器宕機如何使用本地克隆倉庫快速恢復Git服務器
阿新 • • 發佈:2018-03-23
git 代碼庫 分布式在工作中難免會出現代碼倉庫不能使用如:服務器磁盤跪了,高可用失效,地區級別的網絡癱瘓,等等。
之前也聽過Git的一大亮點為去中心話的可靠代碼倉庫,那麽問題來了:
代碼庫真的宕機了,連不上了,在短時間內需要團隊開發合並代碼,協作開發,發布版本,筆者在網上搜索一圈沒有人寫過類似文章(也有可能大家都覺得這個太簡單了),故寫下自己意淫的方法,以及自己親身的實施步驟:
好,現在問題來了,已經推不上去了,沒辦法和其他開發互動了
解決思路:
需要一個臨時服務器來代替原先的宕機的服務器上面(可以是你自己的本機)保存代碼庫
在新的Git服務器上新建一個空的裸板庫,以等把本機的代碼推送上來
在新的Git服務器上新建推送用戶
把本機的代碼庫的推送地址更換到新的服務器的地址
解決方法(以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 remote remove origin
使用這條命令就把git的遠端推送源刪除了,然後,現在就需要把他換成新的Git服務器地址:
$ git remote add origin [email protected]:/home/git/demo.git
這裏的git為你一開始新建的用戶,如果是其他的用戶,請自行更改,後面的格式為固定的服務器目錄格式
最後把本地的代碼推送到新Git服務器上,如果有多個分支請一一推送
怎麽樣各位,久違的Git代碼倉庫又回來了,是不是很神奇!
Git服務器宕機如何使用本地克隆倉庫快速恢復Git服務器