備注:
本文參考于廖雪峰老師的博客Git教程费韭。依照其博客進行學習和記錄值纱,感謝其無私分享,也歡迎各位查看原文悠栓。
知識點
git remote add <name> 遠程庫地址
原在,添加指定的遠程庫名git remote rm <name>
刪除一個遠程庫git remote -v
查看遠程庫信息
GitHub
GitHub作為一個免費的遠程倉庫,可以很方便的發(fā)布自己的開源項目,同時參與別人的開源項目
使用GitHU幣的克隆和分支功能却音。在別人的開源項目中,點擊“Fork”矢炼,就可以克隆一個開源項目的倉庫到自己的倉庫系瓢,然后使用clone克隆到本地,修改項目句灌。然后推送到自己賬戶下的項目中夷陋。其他賬戶下是沒有權(quán)限推送的。
自己修改或增加新功能后胰锌∑疲可以在GitHub上發(fā)起一個
pull request
,請求到開源項目庫。如果對方接受pull request
资昧,就真正的貢獻到開源項目中酬土。
碼云(gitee.com)
碼云是國內(nèi)的Git托管服務網(wǎng)站
碼云不僅提供免費的Git倉庫,還集成了代碼質(zhì)量檢測格带、項目演示等功能撤缴。對于團隊協(xié)作開發(fā),碼云還提供了項目管理叽唱、代碼托管屈呕、文檔管理的服務,5人以下小團隊免費
gitee的使用
碼云的使用方法和GitHub類似尔觉,注冊賬號并登陸后凉袱,需要上傳自己的SSH
公鑰
- 設置>SSH公鑰,輸入本地的公鑰和
title
點擊確定,添加key专甩。
將本地倉庫關(guān)聯(lián)到碼云的遠程倉庫
- 首先钟鸵,在碼云創(chuàng)建一個新的項目,項目名最后與本地現(xiàn)有項目一樣
- 在本地倉庫上使用
git remote add
涤躲,和碼云遠程倉庫關(guān)聯(lián)
$ git remote add origin git@gitee.com:findmoon/gitTest.git
fatal: 遠程 origin 已經(jīng)存在棺耍。
如上,提示origin遠程庫已經(jīng)存在种樱,本地庫已經(jīng)關(guān)聯(lián)了一個名叫origin
的遠程庫蒙袍,即之前關(guān)聯(lián)的github中的倉庫
- 查看遠程庫信息,
git remote -v
嫩挤,本地庫關(guān)聯(lián)了GitHub的遠程庫
$ git remote -v
origin git@github.com:findmoon/newrepo.git (fetch)
origin git@github.com:findmoon/newrepo.git (push)
- 刪除已有的遠程庫的連接
$ git remote rm origin
- 此時重新關(guān)聯(lián)gitee碼云的遠程庫
$ git remote add origin git@gitee.com:findmoon/gitTest.git
- 查看遠程庫信息
$ git remote -v
origin git@gitee.com:findmoon/gitTest.git (fetch)
origin git@gitee.com:findmoon/gitTest.git (push)
此時origin
已經(jīng)關(guān)聯(lián)到gitee碼云的遠程庫害幅。通過git push
進行推送。
本地版本庫關(guān)聯(lián)多個遠程庫
Git作為分布式版本控制系統(tǒng)岂昭,可以同步到多個遠程庫以现。
git給遠程庫的默認名是origin
,使用多個遠程庫時约啊,需要指定不同的名稱邑遏。
如下,先刪除gitTest
庫的origin
遠程庫恰矩,然后添加github
和gitee
兩個遠程庫
$ git remote rm origin
$ git remote
$ git remote -v
$ git remote add github git@github.com:findmoon/newrepo.git
$ git remote add gitee git@gitee.com:findmoon/gitTest.git
$ git remote
gitee
github
- 新建了兩個遠程庫记盒,分別指向GitHub和gitee
$ git remote -v
gitee git@gitee.com:findmoon/gitTest.git (fetch)
gitee git@gitee.com:findmoon/gitTest.git (push)
github git@github.com:findmoon/newrepo.git (fetch)
github git@github.com:findmoon/newrepo.git (push)
- 推送到GitHub
$ git push github master
Everything up-to-date
- 推送到gitee
$ git push gitee master
Everything up-to-date