簡介
在管理Git專案上,很多時候都是直接使用https url克隆到本地,當然也有有些人使用SSH url克隆到本地。
這兩種方式的主要區別在於:使用https url克隆對初學者來說會比較方便,複製https url然後到git Bash裡面直接用clone命令克隆到本地就好了,但是每次fetch和push程式碼都需要輸入賬號和密碼,這也是https方式的麻煩之處。
而使用SSH url克隆卻需要在克隆之前先配置和新增好SSH key,因此,如果你想要使用SSH url克隆的話,你必須是這個專案的擁有者。否則你是無法新增SSH key的,另外ssh預設是每次fetch和push程式碼都不需要輸入賬號和密碼,如果你想要每次都輸入賬號密碼才能進行fetch和push也可以另外進行設定。前面的幾篇介紹Git的部落格裡面採用的都是https的方式作為案例,
今天主要是講述如何配置使用ssh方式來提交和克隆程式碼
設定
- 設定git的user和email:(如果是第一次的話)
git config --global user.name "zine-fj"
git config --global user.email "747810974@qq.com"
- 檢查是否已經有SSH Key
cd ~/.ssh
# 接著輸入(注意是字母的l)
ls
列出該檔案下的檔案,看是否存在 id_isa 和 id_isa.pub 檔案(也可以是別的檔名,只要 yourName 和 yourName.pub 承兌存在),如果存在的話,證明已經存在 ssh key了,可以直接跳過 生成金鑰 這一步驟
- 生成祕鑰
ssh-keygen -t rsa -C "747810974@qq.com"
連續3個回車。如果不需要密碼的話。
最後得到了兩個檔案:id_rsa和id_rsa.pub。
預設的儲存路徑是:C:UsersAdministrator.ssh
- 新增金鑰到ssh-agent
確保 ssh-agent 是可用的。ssh-agent是一種控制用來儲存公鑰身份驗證所使用的私鑰的程式,其實ssh-agent就是一個金鑰管理器,執行ssh-agent以後,使用ssh-add將私鑰交給ssh-agent保管,其他程式需要身份驗證的時候可以將驗證申請交給ssh-agent來完成整個認證過程。
eval "$(ssh-agent -s)"
# 新增生成的SSH Key到ssh-agent。
ssh-add ~/.ssh/id_rsa
- 登入github,新增ssh
把id_rsa.pub檔案裡的內容複製到這裡: github 中 setting 中的 SSH and GPG keys
- 測試
ssh -T git@github.com
如果看到Hi後面是你的使用者名稱,就說明成功了。