【四】远程仓库
遠程倉庫
- 添加遠程庫
- SSH警告
- 刪除遠程庫
- 從遠程庫克隆
添加遠程庫
現在的情景是,你已經在本地創建了一個Git倉庫后,又想在Gitee創建一個Git倉庫,并且讓這兩個倉庫進行遠程同步,這樣,Gitee上的倉庫既可以作為備份,又可以讓其他人通過該倉庫來協作,真是一舉多得。
這里選擇使用Gitee,因為是國內的代碼倉庫速度快點。
先創建一個代碼倉庫learngit:
創建完成后,可以看到地址和一些簡易使用命令:
HTTPS地址:https://gitee.com/zehpyr/learngit.git
SSH地址:git@gitee.com:zehpyr/learngit.git
Git 全局設置:
創建 git 倉庫:
mkdir learngit cd learngit git init touch README.md git add README.md git commit -m "first commit" git remote add origin https://gitee.com/zehpyr/learngit.git git push -u origin master已有倉庫?
cd existing_git_repo git remote add origin https://gitee.com/zehpyr/learngit.git git push -u origin master目前,在Gitee上的這個learngit倉庫還是空的,Gitee告訴我們,可以從這個倉庫克隆出新的倉庫,也可以把一個已有的本地倉庫與之關聯,然后,把本地倉庫的內容推送到Gitee倉庫。
現在把本地的learngit倉庫提交到遠程倉庫:
# 添加遠程庫origin git remote add origin git@gitee.com:zehpyr/learngit.git # 將本地倉庫推送到遠程庫origin git push -u origin master
查看遠程倉庫的內容,已經push成功了:
把本地庫的內容推送到遠程,用git push命令,實際上是把當前分支master推送到遠程。
由于遠程庫是空的,我們第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令。
從現在起,只要本地作了提交,就可以通過命令:
git push origin master把本地master分支的最新修改推送至Gitee,現在,你就擁有了真正的分布式版本庫!
SSH警告
當你第一次使用Git的clone或者push命令連接GitHub/Gitee時,會得到一個警告:
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established. RSA key fingerprint is xx.xx.xx.xx.xx. Are you sure you want to continue connecting (yes/no)?這是因為Git使用SSH連接,而SSH連接在第一次驗證GitHub/Gitee服務器的Key時,需要你確認GitHub/Gitee的Key的指紋信息是否真的來自GitHub的服務器,輸入yes回車即可。
Git會輸出一個警告,告訴你已經把GitHub的Key添加到本機的一個信任列表里了:
Warning: Permanently added 'github.com' (RSA) to the list of known hosts.這個警告只會出現一次,后面的操作就不會有任何警告了。
刪除遠程庫
此處的“刪除”其實是解除了本地和遠程的綁定關系,并不是物理上刪除了遠程庫。遠程庫本身并沒有任何改動。
使用git remote -v可以查看當前的遠程庫地址(避免出錯),然后使用git remote rm origin來刪除遠程庫的綁定關系。
從遠程庫克隆
如果是從零開發,最好是先有遠程庫,然后,從遠程庫克隆。
比如先創建了一個git倉庫,就可以使用git clone來克隆遠程倉庫:
git clone git@gitee.com:zehpyr/learngit.git執行命令后會在當前目錄克隆遠程倉庫的內容,如果有多個人協作開發,那么每個人各自從遠程克隆一份就可以了。
使用https除了速度慢以外,還有個最大的麻煩是每次推送都必須輸入口令,但是在某些只開放http端口的公司內部就無法使用ssh協議而只能用https。
總結
- 上一篇: Linux学习之diction的编译与使
- 下一篇: 一年级学情分析计算机,小学一年级语文学情