Git使用手冊:HTTPS和SSH方式的區別和使用

來源:互聯網
上載者:User

標籤:https   git   複製   

在管理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方式來提交和複製代碼。

步驟1:檢查你的電腦上是否已經產生了SSH Key
在git bash下執行如下命令

cd  ~/.sshls

這兩個命令就是檢查是否已經存在id_rsa.pub或id_dsa.pub檔案,如果檔案已經存在,那麼你可以跳過步驟2,直接進入步驟3。

步驟2:建立一個SSH Key
在git bash下執行如下命令

ssh-keygen -t rsa -C "你的email地址"

代碼參數含義:
-t指定密鑰類型,預設是rsa,可以省略。
-C設定注釋文字,比如郵箱。
-f指定密鑰檔案儲存體檔案名稱。
以上命令省略了-f參數,因此,運行上面那條命令後會讓你輸入一個檔案名稱,用於儲存剛才產生的SSH key代碼,如:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
當然,你也可以不輸入檔案名稱,使用預設檔案名稱(推薦),那麼就會產生id_rsa和id_rsa.pub兩個秘鑰檔案。
接著又會提示你輸入兩次密碼(該密碼是你push檔案的時候要輸入的密碼,而不是github管理者的密碼),當然,你也可以不輸入密碼,直接按斷行符號。那麼push的時候就不需要輸入密碼,直接提交到Git伺服器上了,如:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
接下來,就會顯示如下一些提示,如:
Your identification has been saved in /c/Users/you/.ssh/id_rsa.
Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db 你的email地址
當你在Git Bash上看到這段顯示的時候,那就說明,你的SSH key已經建立成功,你只需要添加到Git伺服器上的SSH key上就可以了。

步驟3:添加SSH Key到Git伺服器
這個由於不同的Git伺服器,在介面添加的地區不一樣,所以不做詳述,具體參照不同Git伺服器自己的操作。
經曆了以上的三個步驟之後,你就可以愉快的使用SSH URL的方式來提交和複製項目的代碼了,並且不需要再頻繁的輸入帳號密碼,如果你之前已經一直使用https方式進行開發,當前想要切換成為ssh方式進行開發,只需要執行如下幾步的操作即可:

git remote rm origingit remote add origin "Git倉庫的ssh格式地址"git push origin

Git使用手冊:HTTPS和SSH方式的區別和使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.