起因
在學習遞歸的時候,對漢諾塔
小研究了一番,參考網上寫了個demo
,后面就想同步到github
。
過程
這台電腦是新電腦,所以需要先本地生成ssh key
:ssh-keygen -t rsa -C "youremail@example.com"
可參考-遠程倉庫。
第一步:ssh-keygen -t rsa -C "youremail@example.com"
;
第二步:在用戶目錄下,找到.ssh
文件夾下的id_rsa.pub
,打開先復制全部內容;
第三步:登錄github
,個人帳號setting
下的SSH and GPG keys
,然后點擊右上角的New SSH key
。之后把第二步復制的都拷貝到key
輸入框;
第四步:開始克隆:git clone git@github.com:***/***.git
。
正常會成功的,可惜報錯了!

解決
因為公司是代理上網,初步猜測應該是這個問題。
那就google
或baidu
尋找解決方式。
根據報錯提示,應該是ssh
連不通。
網上找到ssh -T git@github.com
,可參考-Testing your SSH connection。
測試過結果如下:

所以,接着搜索ssh: connect to host github.com port 22: Connection timed out
,發現貌似找到解決方式了。

可參考-ssh: connect to host github.com port 22: Connection timed out
這個說的就是把協議從ssh
方式換成https
。先別管本地git config --local -e
是否可行,要盡快解決問題。
所以,git clone
的時候,換個協議就好了!
git clone https://github.com/***/***.git

小結
xxx
思考
- 為什么
ssh
協議會存在問題,而https
則不會?什么是ssh
協議?https
協議呢?兩者的區別? git bash
下的git clone xxx
是怎么發請求的?類似於curl
?還是??- xxx