1. 程式人生 > >Git服務器宕機如何使用本地克隆倉庫快速恢復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 remote remove origin

使用這條命令就把git的遠端推送源刪除了,然後,現在就需要把他換成新的Git服務器地址:

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

這裏的git為你一開始新建的用戶,如果是其他的用戶,請自行更改,後面的格式為固定的服務器目錄格式

技術分享圖片

最後把本地的代碼推送到新Git服務器上,如果有多個分支請一一推送


怎麽樣各位,久違的Git代碼倉庫又回來了,是不是很神奇!





Git服務器宕機如何使用本地克隆倉庫快速恢復Git服務器