git多個遠端倉庫

2022-07-27 16:18:14 字數 2820 閱讀 1943

用github管理自己的開源專案有幾年了,最近一年更新得比較多,倉庫也越來越多越來越大。有時候感覺github太慢,尤其是最近感覺更為明顯,於是萌生了再找個國內類似github的**託管平台的想法,同時我也還想持續更新github上的倉庫,於是需要乙個本地倉庫(我自己的開發機)多個遠端倉庫(github、碼雲、coding)。

我的開源專案nebula乙個基於事件驅動的高效能tcp網路框架的git配置檔案.git/config如下:

[core]

repositoryformatversion = 0

filemode = true

bare = false

logallrefupdates = true

[remote "origin"]

url =

fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]

remote = origin

merge = refs/heads/master

新增乙個名為「mirror」的遠端倉庫:

git remote add mirror
執行完這條命令後.git/config檔案內容變成了:

[core]

repositoryformatversion = 0

filemode = true

bare = false

logallrefupdates = true

[remote "origin"]

url =

fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]

remote = origin

merge = refs/heads/master

[remote "mirror"]

url =

fetch = +refs/heads/*:refs/remotes/mirror/*

此時已經是乙個本地倉庫,兩個遠端倉庫。使用下面的命令可以分別從兩個遠端倉庫拉取和推送到兩個遠端倉庫。

git pull origin master 

git pull mirror master

git push origin master

git push mirror master

目前我的開源專案只有我乙個contributor(計畫2023年12月開始引入其他contributor),主要push比較少pull,輸入多條命令我都覺得麻煩,一條命令將當前分支同時更新到兩個遠端倉庫才能讓我滿意。於是改變一下,不用上面的mirror做法,直接在origin中新增乙個url來實現乙個本地倉庫多個遠端倉庫。

git remote set-url --add origin
執行這條命令後.git/config內容變成:

[core]

repositoryformatversion = 0

filemode = true

bare = false

logallrefupdates = true

[remote "origin"]

url =

url =

fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]

remote = origin

merge = refs/heads/master

[remote "mirror"]

url =

fetch = +refs/heads/*:refs/remotes/mirror/*

之前新增的「mirror」留著或刪掉都沒關係,這時候我們一條命令即可更新兩個遠端倉庫:

git push origin master
執行遠端倉庫操作需要輸入密碼是件比較麻煩的事情,在配置檔案的url裡配上使用者名稱和密碼即可免掉這樣的麻煩,提高操作效率。免輸密碼操作遠端倉庫還可以通過ssh方式實現,下面只給出https方式的免輸密碼配置:

url = https://$:[email protected]/bwar/nebula.git
把上面配置中的「$」和「$」用你的遠端倉庫使用者名稱和密碼代入即可。

上面通過git remote命令完成乙個本地倉庫多個遠端倉庫配置,這些命令實際上都是通過修改.git/config實現的,其實直接修改配置檔案可能會更快,我就是直接修改配置檔案完成。最後我的多個遠端倉庫配置如下:

merge = refs/heads/master完畢。

git 多個遠端倉庫

有時候乙個git專案需要使用多個遠端庫,如 測試環境 生產環境,國內加國外等 專案根目錄下修改 git config 檔案 vim git config 新增遠端乙個遠端倉庫 並為其命名 如 mirror.url為新加入的遠端遠端倉庫的位址 pull操作 分別從兩個遠端倉庫 pull git pul...

git推到多個遠端倉庫

現實是 我在公司電腦上寫的 在不利用u盤,聊天工具傳輸檔案的情況下,在家也能使用 操作 將公司寫的 上傳到自己的遠端倉庫,到家拉下 即可。聽說拉的時候會報錯,我還沒測試不能做成部落格,我是用的轉殖 下班前日常操作 git add git commit m 備註說明 git push 這就是推到公司遠...

本地Git倉庫對照多個遠端倉庫

1,新增 remote add origin push u origin master 其中origin就是git本地倉庫指向對應的的乙個本地標識,可以自定義,而push命令中的master指的是遠端倉庫的分支名稱 知道這點就可以狂躁了,因為不同的遠端倉庫,就會有不同的,也就是我們可以在本地取乙個名...