狡兔有三窟,備份資料的窟越多越好,以免找不回,所以除了在自建的 Git Server上,為了避免自建 Git Server 壞掉,保險起見至少要放一份到其他不同位置的 Git Server,例如:GitHub。 雖然備份很重要,但你一定也不想每次 push 到 remote 都要反覆操作 push 多次,就我們來看看可以如何設定,讓一次動作就可以同時 push 到多個 remote repository。

先從自建的 Git Server 複製 (Clone) 原始的專案到電腦上。輸入 git remote -v 查詢目前抓取、推送的位置。(fetch 與 push 只有一處)

在另一個 Git Server 建立一個倉庫,例如:在 GitHub 上建立一個 TEST 倉庫,建議使用同名較容易記住與對應。

使用指令加入其他倉庫

git remote set-url --add --push origin https://github.com/weayzehoa/TEST.git 
 #(https連線方式)
或
git remote set-url --add --push origin git@github.com:weayzehoa/TEST.git  #(使用憑證方式)

輸入後再次用 git remote -v 確認結果,發現原本的 push 被覆蓋掉了。這時候變成遠端倉庫為推送對象,但抓取對象為原本的倉庫。這樣會導致兩邊不同步,所以需要加回原本的push指令。

加回原本的push

git remote set-url --add --push origin ssh://roger@rvt.idv.tw/volume1/GitServer/TEST

這時候就可以看到,原本的倉庫被加入進來,這樣相當於擁有兩個倉庫。

執行push將資料推送出去。

git push origin

到GitHub確認是否有推送上來。

這樣就大功告成了,後續新增資料只要下 git push origin 就會同時推送到兩個倉庫去。

最後修改日期: 2019 年 12 月 27 日