用 GitHub 管理自己的開源項目有幾年了,最近一年更新得比較多,倉庫也越來越多越來越大。有時候感覺GitHub太慢,尤其是最近感覺更為明顯,于是萌生了再找個國內(nèi)類似GitHub的代碼托管平臺的想法,同時我也還想持續(xù)更新GitHub上的倉庫,于是需要一個本地倉庫(我自己的開發(fā)機)多個遠程倉庫(Github、碼云、coding)。
成都創(chuàng)新互聯(lián)于2013年開始,先為舒蘭等服務建站,舒蘭等地企業(yè),進行企業(yè)商務咨詢服務。為舒蘭企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
我的開源項目 Nebula一個基于事件驅動的高性能TCP網(wǎng)絡框架的git配置文件.git/config如下:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://github.com/Bwar/Nebula.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
添加一個名為“ mirror ”的遠程倉庫:
git remote add mirror https://gitee.com/Bwar/Nebula.git
執(zhí)行完這條命令后 .git/config 文件內(nèi)容變成了:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://github.com/Bwar/Nebula.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "mirror"]
url = https://gitee.com/Bwar/Nebula.git
fetch = +refs/heads/*:refs/remotes/mirror/*
此時已經(jīng)是一個本地倉庫,兩個遠程倉庫。使用下面的命令可以分別從兩個遠程倉庫拉取和推送到兩個遠程倉庫。
git pull origin master
git pull mirror master
git push origin master
git push mirror master
目前我的開源項目只有我一個 contributor (計劃2018年12月開始引入其他contributor),主要push比較少pull,輸入多條命令我都覺得麻煩,一條命令將當前分支同時更新到兩個遠程倉庫才能讓我滿意。于是改變一下,不用上面的mirror做法,直接在origin中添加一個url來實現(xiàn)一個本地倉庫多個遠程倉庫。
git remote set-url --add origin https://gitee.com/Bwar/Nebula.git
執(zhí)行這條命令后 .git/config 內(nèi)容變成:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://github.com/Bwar/Nebula.git
url = https://gitee.com/Bwar/Nebula.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "mirror"]
url = https://gitee.com/Bwar/Nebula.git
fetch = +refs/heads/*:refs/remotes/mirror/*
之前添加的“ mirror ”留著或刪掉都沒關系,這時候我們一條命令即可更新兩個遠程倉庫:
git push origin master
執(zhí)行遠程倉庫操作需要輸入密碼是件比較麻煩的事情,在配置文件的url里配上用戶名和密碼即可免掉這樣的麻煩,提高操作效率。免輸密碼操作遠程倉庫還可以通過ssh方式實現(xiàn),下面只給出https方式的免輸密碼配置:
url = https://${user}:${password}@github.com/Bwar/Nebula.git
把上面配置中的“ ${user} ”和“ ${password} ”用你的遠程倉庫用戶名和密碼代入即可。
上面通過 git remote 命令完成一個本地倉庫多個遠程倉庫配置,這些命令實際上都是通過修改.git/config實現(xiàn)的,其實直接修改配置文件可能會更快,我就是直接修改配置文件完成。最后我的多個遠程倉庫配置如下:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://${user}:${password}@github.com/Bwar/Nebula.git
url = https://${user}:${password}@gitee.com/Bwar/Nebula.git
url = https://${user}:${password}@git.coding.net/Bwar/NebulaBootstrap.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
完畢。
當前題目:git多個遠程倉庫
鏈接分享:http://chinadenli.net/article46/ihddhg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、定制網(wǎng)站、網(wǎng)站導航、關鍵詞優(yōu)化、App設計、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)