Git整理(三)

Git(三)

遠程倉庫

到目前爲止,我們所有的操作都是在本地倉庫中管理版本,這在svn中也可以使用,前面也說過git,需要有一臺只作用於交換的僞中央倉庫,但是你只有一個電腦的時候怎麼辦,建兩個版本庫?當然可以,其實一臺電腦上也是可以克隆多個版本庫的,只要不在同一個目錄下。不過,現實生活中是不會有人這麼傻的在一臺電腦上搞幾個遠程庫玩,因爲一臺電腦上搞幾個遠程庫完全沒有意義,而且硬盤掛了會導致所有庫都掛掉,所以我也不告訴你在一臺電腦上怎麼克隆多個倉庫。
實際情況往往是這樣,找一臺電腦充當服務器的角色,每天24小時開機,其他每個人都從這個“服務器”倉庫克隆一份到自己的電腦上,並且各自把各自的提交推送到服務器倉庫裏,也從服務器倉庫中拉取別人的提交。
完全可以自己搭建一臺運行Git的服務器,不過現階段,爲了學Git先搭個服務器絕對是小題大作。好在這個世界上有個叫GitHub的神奇的網站,從名字就可以看出,這個網站就是提供Git倉庫託管服務的,所以,只要註冊一個GitHub賬號,就可以免費獲得Git遠程倉庫。
還有一個可以搭建遠程倉庫的叫“碼雲”,當然此碼雲非彼馬雲,兩者操作都差不多。
首先肯定是註冊賬號。

公鑰和私鑰

私鑰:一把私有的鑰匙,僅有用戶才擁有。
公鑰:一把公開的鑰匙,可公開發行配送,只要有要求即取得。
每支鑰匙產生一個被使用來改變屬性的功能。私有的鑰匙產生一個私有改變屬性的功能,而公開的鑰匙 產生一個 公開改變屬性的功能。這些功能是反向相關的,例如,如果一個功能是用來加密消息,另外一個功能則被用來解密消息。不論此改變屬性功能的次序爲何皆不重要。公開的鑰匙系統的優勢是兩個用戶能夠安全的溝通而不需交換祕密鑰匙。例如,假設一個送信者需要傳送一個信息給一個收信者,而信息的祕密性是必要的, 送信者以收信者的公開的鑰匙來加密,而僅有收信者的私有的鑰匙能夠對此信息解密。公開的鑰匙密碼學是非常適合於提供認證,完整和不能否認的服務, 所有的這些服務即是我們所知的數字簽名。
公鑰私鑰的原則:
1:一個公鑰對應一個私鑰。
2:密鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。
3:如果用其中一個密鑰加密數據,則只有對應的那個密鑰纔可以解密。
4:如果用其中一個密鑰可以進行解密數據,則該數據必然是對應的那個密鑰進行的加密。

由於你的本地Git倉庫和碼雲倉庫之間的傳輸是通過SSH加密的,所以,需要一點設置:
創建SSH Key。在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創建SSH Key:

$ ssh-keygen -t rsa -C "你的郵箱地址"
下面的回車就行

爲什麼GitHub需要SSH Key呢?因爲GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送。

碼雲遠程倉庫

登陸註冊後,上面的操作界面都是可視化界面,很簡單。
創建一個遠程倉庫
把前面的公鑰添加至遠程倉庫(公鑰暴漏出去不用擔心,公鑰和私鑰都是成對的,私鑰一定要保存好。)
從遠程倉庫關聯本地倉庫有兩種協議辦法HTTPS和SSH

HTTPS

在這裏插入圖片描述

在本地的項目裏右鍵git bash here
$ git clone [email protected]:z7z8l78z/test.git
就會把項目克隆下來
克隆的同時該項目就會把該項目建立一個本地倉庫,同時直接連接到遠程倉庫
如果不相信有沒有連接遠程倉庫可以使用下面的命令
$ git remote -v
如果出現url看是否對應,一般情況下都是對應的
此時對項目進行操作,就可以提交至遠程倉庫
提交過程
	add到緩存區 $ git add a.txt
	commit到本地倉庫 $ git commit -m "commit1"
	push到遠程倉庫 $ git push -u origin master

直接從本地倉庫關聯遠程倉庫

# 關聯遠程倉庫
$ git remote add origin 遠程倉庫的url

如果不小心關聯錯了咋辦,不慌
# 先刪除關聯
git remote rm origin
# 再關聯新的地址
git remote add origin 遠程倉庫的url
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章