昨天從github上面clone一個(gè)文件下來,clone速度超級(jí)感人,于是就想方設(shè)法去解決這個(gè)問題钙蒙,最開始嘗試用重定向的方式得到文件的真實(shí)鏈接,然后使用迅雷下載间驮,但不知道為什么躬厌,可能是這個(gè)資源太冷門,速度還是上不去,還有什么辦法呢扛施?查了查網(wǎng)上說法鸿捧,有人說使用ss代理,用如下指令即可:
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
參考地址:
然而我用的xx-net疙渣,當(dāng)然也可以代理的匙奴,使用全局代理之后,上ie的internet選項(xiàng)當(dāng)中查看到了我的代理端口號(hào)妄荔,把上面兩條指令的端口號(hào)改成我的端口號(hào)就OK泼菌,我的是8087.
改完以后风罩,又開開心心的去clone钻心,然而,突然又有提示“SSL certificate problem”涣易。納尼篷角!找辦法焊刹,找到了以下忽略ssl證書的辦法:
git config --global http.sslVerify false
緊接著繼續(xù)去開開心心clone,事情還沒有結(jié)束恳蹲,
error: RPC failed; curl 18 transfer closed with 31812496 bytes remaining to read
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
what?這又是什么鬼虐块。
于是又去找解決方案,可以通過git config指令去修改文件大小限制嘉蕾,也可以直接去修改.gitconfig文件當(dāng)中的配置贺奠,當(dāng)我修改完以后,再去測(cè)試荆针,發(fā)現(xiàn)clone一會(huì)兒后又報(bào)相同的錯(cuò)誤敞嗡。
接著在StackOverflow上面發(fā)現(xiàn)了類似的問題,有個(gè)答主給的方案是:
原文地址如下:
原文地址
大致的意思就是可以不通過HTTP下載航背,使用SSH的方式喉悴。但是從之前知乎答主的回答可以得知:
但同時(shí),也請(qǐng)注意玖媚,這里指的是https協(xié)議箕肃,也就是git clone https://www.github.com/xxxx/xxxx.git
這種對(duì)于SSH協(xié)議,也就是git clone git@github.com:xxxxxx/xxxxxx.git
這種今魔,依舊是無效的
好吧勺像,試試吧,申請(qǐng)了一個(gè)rsa證書错森,然后吟宦,使用ssh的方式git clone。
果然涩维,速度還是很慢10K到30K不等吧殃姓,之間吃午飯去了,也就讓它自己clone吧,回來后蜗侈,果然沒有報(bào)錯(cuò)篷牌,順利clone結(jié)束了。
但想想還是不夠elegant踏幻,再次Google了一下枷颊,發(fā)現(xiàn)這樣一篇博客:
https://blog.csdn.net/IT_liuchengli/article/details/77040806
博主給的解釋是:
這個(gè)錯(cuò)誤是因?yàn)轫?xiàng)目太久,tag資源文件太大
解決方式一该面, 網(wǎng)上大部分解決措施:命令終端輸入
git config --global http.postBuffer 524288000
用上面的命令有的人可以解決夭苗,我的還不行,需要如下方式命令吆倦,只clone深度為一
$ git clone /github_com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow
中劃線處填入你的git倉庫的地址听诸。。蚕泽。(我用的是http方式,不是ssh)
解決方式二桥嗤,一般clone http方式的容易產(chǎn)生此問題须妻,改成SSH的方式也有效
我目前采用的就是第二張方式,但是速度方面還是揪心泛领,所以下次碰到類似問題荒吏,準(zhǔn)備嘗試第一種方式