Git clone 方式有什麼差異?
剛開始接觸Git的人,無論是使用GitLab 還是 GitHub 在clone專案複製連結的時候都會發現有HTTPS和SSH可以選擇
兩者有什麼區別呢?
HTTPS
優點:
- 簡單, 只需要 GitHub 帳戶的使用者名稱和密碼。
- 通用, 無需額外配置即可在任何有網路的地方使用。
缺點:
- 安全性較低, 每次操作都需要輸入使用者名稱和密碼
- 自動化不便, 不適合需要頻繁操作的自動化流程。
SSH
優點:
- 安全, 使用 SSH 金鑰進行身份驗證,比輸入密碼安全得多。
- 便於自動化, 適合自動化腳本和持續整合流程。
缺點:
- 配置較複雜, 需要生成並配置 SSH 金鑰。
- 防火牆問題, 有些防火牆可能會阻擋 SSH 連接。
設置SSH的步驟
1.生成SSH金鑰 第一步生成SSH金鑰,在cmd輸入
1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
這時選擇要放的位置 預設為 /home/username/.ssh/id_rsa
1
2
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
接著會詢問要不要設定 passphrase,空白表示不設定 如果有設定passphrase,則每次用此key登入都需要輸入這個密碼 (安全性較高,可依個人需求設定)
1
2
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
接下來就會產生key到指定位置了 會有兩個key 一個有副檔名 .pub 為公鑰,而沒有副檔名的為私鑰 注意私鑰要保存好 絕對不能被竊取
2.將SSH公鑰添加到GitHub 進入 GitHub,點擊右上角的頭像並選擇”Settings”。 在左側欄中選擇“SSH and GPG Keys”。 點擊“New SSH Key”,將 id_rsa.pub 文件的內容複製進去。
Sourcetree中的設定
- 打開SourceTree,點擊Tools > Options
- 進入Git標籤,選擇使用OpenSSH
- 確認SSH Key的位置為私鑰位置
接著就可以在SourceTree上使用SSH clone Project囉


