起因
在學習遞歸的時候,對漢諾塔小研究了一番,參考網上寫了個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
