sourceTree,將代碼上傳到github AND 添加SSH keys 從GitHub或碼云Clone

準備

  1. 在GitHub注冊賬號
  2. 下載sourceTree客戶端

正文

1. 在GitHub創建倉庫

New repository.png

New repository input.png

2. 克隆倉庫

克隆的方式有兩種 
1. Use HTTPS
2. Use SSH

第一種比較方便直接復制粘貼就行

clone use HTTPS.png

使用第二種需要添加ssh密鑰, 因為本地的git倉庫和Github服務器之間是通過ssh加密的
Colne use ssh.png

3. 使用sourceTree把倉庫克隆到本地
3.1 克隆
create.png

clone use ssh remind.png

clone success.png

3.2 提交
commit.png

see repository.png

PS: 添加SSH keys

1. 生成SSH密鑰
1.1 終端中執行如下命令,進入.ssh文件夾,查看是否已經有了ssh密鑰; 如果沒有密鑰則不會有此文件夾,有則備份刪除:

cd ~/.ssh

2. 生成公鑰

ssh-keygen -t rsa
//這里是輸入文件名,直接回車的話,則使用默認名id_rsa。
Enter file in which to save the key (/Users/rason/.ssh/id_rsa):
//這里是輸入密鑰密碼,直接回車的話,密碼為空。
Enter passphrase (empty for no passphrase):
//這里是再次輸入密鑰密碼,直接回車的話,密碼為空。該密碼就是使用該密鑰所需要輸入的密碼。
Enter same passphrase again:

看到如下提示,說明已經生成成功。

Your identification has been saved in /Users/rason/.ssh/id_rsa.
Your public key has been saved in /Users/rason/.ssh/id_rsa.pub.
The key fingerprint is:
………………

3. 查看并復制公鑰

cat id_rsa.pub
seeKey.png

4. 添加公鑰
4.1 打開GitHub的setting頁面

settings.png

4.2 將剛剛復制的公鑰粘貼到key中
add ssh keys.png

5. 測試是否連接成功

ssh -T git@github.com

有以下信息,說明已經成功。

success.png

PS: 上述申請的公鑰同樣可擁有開源中國--碼云的ssh keys
在修改個人資料中選擇ssh公鑰
add key.png

輸入命令查看上述申請的公鑰并復制粘貼到添加公鑰的輸入框中

cat ~/.ssh/id_rsa.pub

添加后,在終端(Terminal)中輸入

ssh -T git@git.oschina.net

若返回

Welcome to Git@OSC, yourname!

則證明添加成功。


os china ssh key.png

至此就可以Use SSH從GitHub和碼云clone項目了

os china clone.png

SourceTree 一直提示輸入密碼問題

一、系統更新問題

項目是走ssh克隆下來的,之前也配置過密鑰。按理來說不應該出現這樣的問題,在日常開發過程中突然需要我輸入密碼?
在經過多方面資料查找與解決方案嘗試后終于找到了原因,背后的黑手是系統升級了,在升級為macOS catlina后 ssh的代理就被自動清除了,所以重新添加一下就好了

步驟:

1、在控制臺輸入 【ssh-add -L】,控制臺會顯示如下:

$ ssh-add -L
The agent has no identities.

2、再執行一次【ssh-add】,然后輸入電腦密碼就好了,成功后會展示你本機的ssh密鑰。控制臺顯示如下:

Enter passphrase for /Users/macName/.ssh/id_rsa:輸入電腦密碼

Identity added: /Users/macName/.ssh/id_rsa (/Users/macName/.ssh/id_rsa)

3、最后再次執行git命令則無需輸入密碼了。

二、SourceTree自身問題

問題: 不管輸入哪個密碼都是一直循環提示需要輸入密碼,并且也確認在github上添加過ssh key。

解決辦法:

先在命令行git clone一次之后,再重新使用SourceTree進行克隆就沒有問題了,后面就可以隨意使用SourceTree進行克隆其他項目。
不止github.com,code.aliyun.com也可能出現該問題,同樣的解決辦法處理即可。

原因: git clone 一次之后會在.ssh/known_hosts中記錄ssh key。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 一、創建github repository(倉庫) 1-1 登錄github github的官方網址:https:...
    字短情長閱讀 1,429評論 0 0
  • Git(分布式版本控制系統) Git是一款免費、開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。G...
    Jens丶閱讀 6,346評論 32 121
  • 最近在研究如何把代碼提交到github上的倉庫里,在網上查了不少文章,介紹的都不是清楚,現在把自己試驗成功的流程記...
    皇馬船長閱讀 1,318評論 1 3
  • 他跪倒在菩薩面前 嘴里念叨一陣 然后做出胸有成竹的表情 站起來對菩薩作了個揖 轉身走出門去 殿里的觀音 作了一個手...
    吻章閱讀 177評論 0 0