使用 Gitee 进行代码管理(包括本地仓库如何同时关联Git和Gitee)
目錄
- 使用Gitee
- 使用GitHub
使用Gitee
使用GitHub時,國內(nèi)的用戶經(jīng)常遇到的問題是訪問速度太慢,有時候還會出現(xiàn)無法連接的情況(原因你懂的)。
如果我們希望體驗Git飛一般的速度,可以使用國內(nèi)的Git托管服務(wù)——Gitee(gitee.com)。
和GitHub相比,Gitee也提供免費的Git倉庫。此外,還集成了代碼質(zhì)量檢測、項目演示等功能。對于團隊協(xié)作開發(fā),Gitee還提供了項目管理、代碼托管、文檔管理的服務(wù),5人以下小團隊免費。
Gitee的免費版本也提供私有庫功能,只是有5人的成員上限。
使用Gitee和使用GitHub類似,如果不會,可以觀看我的前一篇GitHub的注冊與使用(小白教程)
我們在Gitee上注冊賬號并登錄后,需要先上傳自己的SSH公鑰。選擇右上角用戶頭像 -> 菜單“修改資料”,然后選擇“SSH公鑰”,填寫一個便于識別的標題,然后把用戶主目錄下的.ssh/id_rsa.pub文件的內(nèi)容粘貼進去:
點擊“確定”即可完成并看到剛才添加的Key:
如果我們已經(jīng)有了一個本地的git倉庫(例如,一個名為Git的本地庫),如何把它關(guān)聯(lián)到Gitee的遠程庫上呢?
首先,我們在Gitee上創(chuàng)建一個新的項目,選擇右上角用戶頭像 -> 菜單“+”,然后點擊“新建倉庫”:
項目名稱最好與本地庫保持一致:
然后,我們在本地庫上使用命令git remote add把它和Gitee的遠程庫關(guān)聯(lián):
git remote add origin git@gitee.com:liaoxuefeng/learngit.git之后,就可以正常地用git push和git pull推送了!
如果在使用命令git remote add時報錯:
$ git remote add origin git@gitee.com:ITmxs/Git.git fatal: remote origin already exists.這說明本地庫已經(jīng)關(guān)聯(lián)了一個名叫origin的遠程庫,此時,可以先用git remote -v查看遠程庫信息:
$ git remote -v origin https://github.com/ITmxs/mygit.git (fetch) origin https://github.com/ITmxs/mygit.git (push)可以看到,本地庫已經(jīng)關(guān)聯(lián)了origin的遠程庫,并且,該遠程庫指向GitHub。
我們可以刪除已有的GitHub遠程庫:
git remote rm origin再關(guān)聯(lián)Gitee的遠程庫(注意路徑中需要填寫正確的用戶名):
git remote add origin git@gitee.com:liaoxuefeng/learngit.git此時,我們再查看遠程庫信息:
$ git remote -v origin git@gitee.com:ITmxs/Git.git (fetch) origin git@gitee.com:ITmxs/Git.git (push)現(xiàn)在可以看到,origin已經(jīng)被關(guān)聯(lián)到Gitee的遠程庫了。通過git push命令就可以把本地庫推送到Gitee上。
有的小伙伴又要問了,一個本地庫能不能既關(guān)聯(lián)GitHub,又關(guān)聯(lián)Gitee呢?
答案是肯定的,因為git本身是分布式版本控制系統(tǒng),可以同步到另外一個遠程庫,當(dāng)然也可以同步到另外兩個遠程庫。
使用多個遠程庫時,我們要注意,git給遠程庫起的默認名稱是origin,如果有多個遠程庫,我們需要用不同的名稱來標識不同的遠程庫。
仍然以Git本地庫為例,我們先刪除已關(guān)聯(lián)的名為origin的遠程庫:
git remote rm origin然后,先關(guān)聯(lián)GitHub的遠程庫:
git remote add github git@github.com:michaelliao/learngit.git注意,遠程庫的名稱叫g(shù)ithub,不叫origin了。
接著,再關(guān)聯(lián)Gitee的遠程庫:
git remote add gitee git@gitee.com:liaoxuefeng/learngit.git同樣注意,遠程庫的名稱叫g(shù)itee,不叫origin。
現(xiàn)在,我們用git remote -v查看遠程庫信息,可以看到兩個遠程庫:
git remote -v gitee git@gitee.com:liaoxuefeng/learngit.git (fetch) gitee git@gitee.com:liaoxuefeng/learngit.git (push) github git@github.com:michaelliao/learngit.git (fetch) github git@github.com:michaelliao/learngit.git (push)如果要推送到GitHub,使用命令:
git push github master如果要推送到Gitee,使用命令:
git push gitee master可以看到gitee倉庫里有了我今天的操作
這樣一來,我們的本地庫就可以同時與多個遠程庫互相同步:
┌─────────┐ ┌─────────┐ │ GitHub │ │ Gitee │ └─────────┘ └─────────┘▲ ▲└─────┬─────┘│┌─────────────┐│ Local Repo │└─────────────┘使用GitHub
可以觀看我的前一篇GitHub的注冊與使用(小白教程)
我們一直用GitHub作為免費的遠程倉庫,如果是個人的開源項目,放到GitHub上是完全沒有問題的。其實GitHub還是一個開源協(xié)作社區(qū),通過GitHub,既可以讓別人參與你的開源項目,也可以參與別人的開源項目。
在GitHub出現(xiàn)以前,開源項目開源容易,但讓廣大人民群眾參與進來比較困難,因為要參與,就要提交代碼,而給每個想提交代碼的群眾都開一個賬號那是不現(xiàn)實的,因此,群眾也僅限于報個bug,即使能改掉bug,也只能把diff文件用郵件發(fā)過去,很不方便。
但是在GitHub上,利用Git極其強大的克隆和分支功能,廣大人民群眾真正可以第一次自由參與各種開源項目了。
如何參與一個開源項目呢?比如人氣極高的bootstrap項目,這是一個非常強大的CSS框架,你可以訪問它的項目主頁https://github.com/twbs/bootstrap,點“Fork”就在自己的賬號下克隆了一個bootstrap倉庫,然后,從自己的賬號下clone:
git clone git@github.com:michaelliao/bootstrap.git一定要從自己的賬號下clone倉庫,這樣你才能推送修改。如果從bootstrap的作者的倉庫地址git@github.com:twbs/bootstrap.git克隆,因為沒有權(quán)限,你將不能推送修改。
Bootstrap的官方倉庫twbs/bootstrap、你在GitHub上克隆的倉庫my/bootstrap,以及你自己克隆到本地電腦的倉庫,他們的關(guān)系就像下圖顯示的那樣:
┌─ GitHub ────────────────────────────────────┐ │ │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │ twbs/bootstrap │────>│ my/bootstrap │ │ │ └─────────────────┘ └─────────────────┘ │ │ ▲ │ └──────────────────────────────────┼──────────┘▼┌─────────────────┐│ local/bootstrap │└─────────────────┘如果你想修復(fù)bootstrap的一個bug,或者新增一個功能,立刻就可以開始干活,干完后,往自己的倉庫推送。
如果你希望bootstrap的官方庫能接受你的修改,你就可以在GitHub上發(fā)起一個pull request。當(dāng)然,對方是否接受你的pull request就不一定了。
└─────────────────┘ 如果你想修復(fù)bootstrap的一個bug,或者新增一個功能,立刻就可以開始干活,干完后,往自己的倉庫推送。如果你希望bootstrap的官方庫能接受你的修改,你就可以在GitHub上發(fā)起一個pull request。當(dāng)然,對方是否接受你的pull request就不一定了。總結(jié)
以上是生活随笔為你收集整理的使用 Gitee 进行代码管理(包括本地仓库如何同时关联Git和Gitee)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git常用的基本命令
- 下一篇: Git之常见的分支操作