GitHub
、GitLab
是目前最流行的代碼託管平臺,前者常常用於個人代碼託管,而後者常用於企業代碼託管。因此在實際工作中,我們通常會在同一臺電腦設備上,使用這兩個平臺進行代碼託管。
SSH-Key
是這兩個平臺的密鑰認證方式,爲自己的電腦添加密鑰認證,可以更加簡單、高效、安全地完成代碼託管的工作。
本文將詳細講解如何在同一臺電腦上爲兩個平臺添加不同的SSH-Key
,並且管理這些密鑰。
實例講解
1. 註冊賬號
用自己的郵箱註冊GitHub
、Gitlab
賬號,註冊過程忽略。
2. 下載Git
進入網站下載自己電腦對應的版本、直接安裝即可。
安裝完成後,在CMD
中輸入下面的代碼,查看Git
的版本號。
git -- version
3. 生成SSH-Key
打開GitBash
(Git
安裝成功後會自動在鼠標右鍵添加GitBash
)輸入以下命令生成密鑰。
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/gitlab_id_rsa
ssh-keygen -o -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/gitlab_id_rsa
[email protected] 代表註冊Gitlab賬號時用的郵箱
-f 代表文件名
~/.ssh/ 代表ssh的文件路徑
gitlab_id-rsa 代表ssh文件名(可以自定義)
到這裏,我們就生成了一個Gitlab
的密鑰,GitHub
密鑰的生成方式同上。
4. 添加SSH-Key
複製密鑰的方式有兩種。
-
輸入
cat ~/.ssh/ssh文件名 | clip
,例如cat ~/.ssh/gitlab_id_rsa.pub | clip
,複製ssh key。 -
直接用記事本打開
gitlab_id-rsa.pub
,複製SSH-Key
。
複製好對應平臺的密鑰後,就可以到對應平臺的SSH-Key
中添加密鑰了
5. 測試密鑰
添加完SSH-Key
後,我們需要測試密鑰是否可用,以GitHub
爲例,在GitBash
中輸入以下的命令。
ssh -T [email protected]
如圖所示GitHub
的密鑰認證成功,Gitlab
密鑰認證的測試方式同上。
需要注意的是,由於Gitlab
是私有代碼倉庫,測試時需要在git@
後面輸入Gitlab
所在ip地址
或域名
,才能正確測試。
6. 多個密鑰管理
當你在同一臺電腦下生成多個密鑰時,你就需要對多個密鑰進行認證管理,否則你的密鑰將無法正常使用。
具體步驟如下。
6.1 添加config文件
首先在./ssh/
文件夾下手動config
文件,配置密鑰信息。
# gitlab
Host gitlab.com
HostName gitlab.com
User root
IdentityFile ~/.ssh/id_rsa
# github
Host github.com
HostName github.com
User root
IdentityFile ~/.ssh/id_rsa_github
Host 代表 關鍵詞
HostName 代表 主機地址
User 代表 用戶名
IdentityFile 代表 認證文件
6.2 添加密鑰信任
完成配置,還需要對每個密鑰添加信任,打開Git Bash
輸入下面的指令。
eval $(ssh-agent -s)
ssh-add ~/.ssh/other_id_rsa
eval 代表 開啓代理認證指令
ssh-add 代表 添加ssh文件認證
需要重點提醒,config
文件主要用於管理密鑰信息,並沒有實際功能,不添加config
文件直接爲密鑰添加信任也是可以的。
但是考慮到密鑰信息的管理,強烈建議添加config
文件,配置好密鑰的信息。
6.3 gitlab官方示例
7. 多密鑰認證測試
完成多祕鑰認證後,通過ssh -T git@
,測試不同平臺的密鑰是否能連接成功。
7.1 GitHub
7.2 Gitlab
Git常用命令
最後附上常用的Git
命令,供大家參考使用
1. 遠程倉庫相關命令
檢出倉庫:$ git clone [git url]
查看遠程倉庫:$ git remote -v
添加遠程倉庫:$ git remote add [name] [url]
刪除遠程倉庫:$ git remote rm [name]
修改遠程倉庫:$ git remote set-url --push[name][newUrl]
拉取遠程倉庫:$ git pull [remoteName] [localBranchName]
推送遠程倉庫:$ git push [remoteName] [localBranchName]
2. 分支(branch)操作相關命令
查看本地分支:$ git branch
查看遠程分支:$ git branch -r
創建本地分支:$ git branch [name] ----注意新分支創建後不會自動切換爲當前分支
切換分支:$ git checkout [name]
創建新分支並立即切換到新分支:$ git checkout -b [name]
創建遠程分支(本地分支push到遠程):$ git push origin [name]
合併分支:$ git merge [name] ----將名稱爲[name]的分支與當前分支合併
刪除本地分支:$ git branch -d [name]
刪除遠程分支:$ git push origin -d [name]
3. 本地項目連接遠程倉庫
查看當前項目下所有文的狀態:$ git status
(.)點表示當前目錄下的所有內容,交給git管理:$ git add .
對你更新或修改了哪些內容做一個描述:$ git commit –m”new natter ”
查看你當前項目遠程連接的是哪個倉庫地址:$ git remote -v
將本地的項目提交到遠程倉庫中:$ git push origin master
將遠程倉庫項目拉到本地項目中:$ git pull origin master
結語
以上就是本文的全部內容了,感謝你的閱讀,如果你有什麼疑問或者建議,歡迎你隨時留言,互相討論。
最後,祝工作順利,生活幸福。