91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

git多個遠程倉庫

發布時間:2020-07-24 23:53:03 來源:網絡 閱讀:1505 作者:鐵芒箕 欄目:軟件技術

1. 前言

   用 GitHub 管理自己的開源項目有幾年了,最近一年更新得比較多,倉庫也越來越多越來越大。有時候感覺GitHub太慢,尤其是最近感覺更為明顯,于是萌生了再找個國內類似GitHub的代碼托管平臺的想法,同時我也還想持續更新GitHub上的倉庫,于是需要一個本地倉庫(我自己的開發機)多個遠程倉庫(Github、碼云、coding)。

2. 一個遠程倉庫的 git config

   我的開源項目 Nebula一個基于事件驅動的高性能TCP網絡框架的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

3. 用 git 命令行添加多個遠程倉庫

   添加一個名為“ mirror ”的遠程倉庫:

git remote add mirror https://gitee.com/Bwar/Nebula.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
[remote "mirror"]
    url = https://gitee.com/Bwar/Nebula.git
    fetch = +refs/heads/*:refs/remotes/mirror/*

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

git pull origin master 
git pull mirror master
git push origin master 
git push mirror master

4. 一條命令同時更新多個遠程倉庫

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

git remote set-url --add origin https://gitee.com/Bwar/Nebula.git

  執行這條命令后 .git/config 內容變成:

[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

5. 免輸入密碼操作遠程倉庫

  執行遠程倉庫操作需要輸入密碼是件比較麻煩的事情,在配置文件的url里配上用戶名和密碼即可免掉這樣的麻煩,提高操作效率。免輸密碼操作遠程倉庫還可以通過ssh方式實現,下面只給出https方式的免輸密碼配置:

url = https://${user}:${password}@github.com/Bwar/Nebula.git

  把上面配置中的“ ${user} ”和“ ${password} ”用你的遠程倉庫用戶名和密碼代入即可。

6. 直接修改 git 配置文件實現多個遠程倉庫

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

[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

  完畢。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤山市| 金寨县| 宁津县| 绥阳县| 鄂温| 洞口县| 聂拉木县| 荔波县| 宿迁市| 冕宁县| 盐亭县| 汉源县| 那曲县| 治县。| 柯坪县| 襄城县| 泗水县| 鹤壁市| 穆棱市| 广饶县| 张家口市| 康保县| 蕲春县| 资阳市| 会同县| 毕节市| 公安县| 延津县| 昆山市| 大邑县| 西乌珠穆沁旗| 孟村| 临安市| 陆川县| 洛隆县| 鄂尔多斯市| 丰顺县| 宁晋县| 东海县| 宁安市| 河南省|