1. 程式人生 > 實用技巧 >GitHub和碼雲gitee及遠端倉庫管理

GitHub和碼雲gitee及遠端倉庫管理

目錄

備註:

本文參考於廖雪峰老師的部落格Git教程。依照其部落格進行學習和記錄,感謝其無私分享,也歡迎各位檢視原文。

知識點

  • git remote add <name> 遠端庫地址,新增指定的遠端庫名

  • git remote rm <name>刪除一個遠端庫

  • git remote -v檢視遠端庫資訊

GitHub

  • GitHub作為一個免費的遠端倉庫,可以很方便的釋出自己的開源專案,同時參與別人的開源專案

  • 使用GitHU幣的克隆和分支功能。在別人的開源專案中,點選“Fork”,就可以克隆一個開源專案的倉庫到自己的倉庫,然後使用clone克隆到本地,修改專案。然後推送到自己賬戶下的專案中。其他賬戶下是沒有許可權推送的。

  • 自己修改或增加新功能後。可以在GitHub上發起一個pull request,請求到開源專案庫。如果對方接受pull request,就真正的貢獻到開源專案中。

碼雲(gitee.com)

碼雲是國內的Git託管服務網站

碼雲不僅提供免費的Git倉庫,還集成了程式碼質量檢測、專案演示等功能。對於團隊協作開發,碼雲還提供了專案管理、程式碼託管、檔案管理的服務,5人以下小團隊免費

gitee的使用

碼雲的使用方法和GitHub類似,註冊賬號並登陸後,需要上傳自己的SSH公鑰

  • 設定>SSH公鑰,輸入本地的公鑰和title

  • 點選確定,新增key。

  • 將本地倉庫關聯到碼雲的遠端倉庫

  1. 首先,在碼雲建立一個新的專案,專案名最後與本地現有專案一樣

  1. 在本地倉庫上使用git remote add,和碼雲遠端倉庫關聯

$ git remote add origin [email protected]:findmoon/gitTest.git
fatal: 遠端 origin 已經存在。

如上,提示origin遠端庫已經存在,本地庫已經關聯了一個名叫origin的遠端庫,即之前關聯的github中的倉庫

  • 檢視遠端庫資訊,git remote -v,本地庫關聯了GitHub的遠端庫
$ git remote -v
origin [email protected]:findmoon/newrepo.git (fetch)
origin
[email protected]
:findmoon/newrepo.git (push)
  • 刪除已有的遠端庫的連線
$ git remote rm origin
  • 此時重新關聯gitee碼雲的遠端庫
$ git remote add origin [email protected]:findmoon/gitTest.git
  • 檢視遠端庫資訊
$ git remote -v
origin [email protected]:findmoon/gitTest.git (fetch)
origin [email protected]:findmoon/gitTest.git (push)

此時origin已經關聯到gitee碼雲的遠端庫。通過git push進行推送。

本地版本庫關聯多個遠端庫

Git作為分散式版本控制系統,可以同步到多個遠端庫。

git給遠端庫的預設名是origin,使用多個遠端庫時,需要指定不同的名稱。

如下,先刪除gitTest庫的origin遠端庫,然後新增githubgitee兩個遠端庫

$ git remote rm origin
$ git remote
$ git remote -v
$ git remote add github [email protected]:findmoon/newrepo.git
$ git remote add gitee [email protected]:findmoon/gitTest.git
$ git remote
gitee
github
  • 新建了兩個遠端庫,分別指向GitHub和gitee
$ git remote -v
gitee [email protected]:findmoon/gitTest.git (fetch)
gitee [email protected]:findmoon/gitTest.git (push)
github [email protected]:findmoon/newrepo.git (fetch)
github [email protected]:findmoon/newrepo.git (push)
  • 推送到GitHub
$ git push github master
Everything up-to-date
  • 推送到gitee
$ git push gitee master
Everything up-to-date