git是分佈式的代碼管理工具,遠程的代碼管理是基於ssh的,因此要使用遠程的git則須要ssh的配置。簡單的說,Git - 版本控制工具;Github是一個網站,提供給用戶空間建立git倉儲,保存用戶的一些數據文檔或者代碼等;GitLab是基於Git的項目管理軟件git
首先,使用代碼管理工具把本地的代碼上傳到服務器時須要加密處理,加密傳輸的算法有不少種,git可以使用rsa,rsa要解決的一個核心問題是,如何使用一對特定的數字,使其中一個數字能夠用來加密,而另一個數字能夠用來解密。這兩個數字就是你在使用git和github,gitlab的時候所遇到的public key也就是公鑰以及private key私鑰。github
其中,公鑰就是那個用來加密的數字,這也就是爲何你在本機生成了公鑰以後,要上傳到github的緣由。從github發回來的,用那公鑰加密過的數據,能夠用你本地的私鑰來還原。若是你的key丟失了,無論是公鑰仍是私鑰,丟失一個都不能用了,解決方法也很簡單,刪除原有的key,從新再生成一次,而後在github.com裏再設置一次就行算法
打開電腦終端,輸入如下命令:安全
ls -al ~/.ssh
繼續上一步可能出現的狀況 服務器
(1)狀況一:終端出現文件id_rsa.pub 或 id_dsa.pub,則表示該電腦已經存在SSH Key,此時可繼續輸入命令:ssh
pbcopy < ~/.ssh/id_rsa.pub
這樣你須要的SSH Key 就已經複製到粘貼板上了,而後進行步驟3分佈式
(2)狀況二:終端未出現id_rsa.pub 或 id_dsa.pub文件,表示該電腦尚未配置SSH Key,此時須要輸入命令:工具
ssh-keygen -t rsa -C "your_email@example.com"
pbcopy < ~/.ssh/id_rsa.pub
打開GitLab, 登陸,進入項目,右側Settings--Repository--Deploy Keys--輸入title、key 點擊「Add key"便可。gitlab