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