前言
Github上下載倉庫或者克隆倉庫,速度基本穩(wěn)定在 20k 以下,當克隆一些大的倉庫時,以這烏龜速度,很容易出現(xiàn)克隆超時的錯誤,等了幾十分鐘的下載一夜回到解放前,那種感覺我猜各位或多或少都經(jīng)歷過。本博客匯總了幾種親測可用的方案,很大地提升下載速度,一個大的倉庫一分鐘左右就可以搞定,也會持續(xù)的更新一些可用新方法,希望對你有幫助。
以下方案均來自網(wǎng)絡(luò)的分享,我只是做整理推薦。感謝那些無私的程序員們。
一、使用 git clone --depth=1 來下載
如果是文件本身過大的話,可以考慮使用:
git clone https://github.com/xxx --depth 1
https://github.com/xxx 是指定要克隆的遠程代碼倉庫的 URL。–depth 1 參數(shù)表示只克隆最新的一次提交(默認主分支),而不是完整地克隆整個代碼倉庫的歷史記錄。這可以減少下載的數(shù)據(jù)量,加快克隆操作。
如果我們想只克隆某個指定分支的最近一次 commit,可以使用下面命令:
git clone https://github.com/xxx --depth=1 --branch=xx_branch
用 git clone --depth=1 的好處是限制 clone 的深度,不會下載 Git 協(xié)作的歷史記錄,這樣可以大大加快克隆的速度。depth 用于指定克隆深度,為 1 即表示只克隆最近一次 commit。
適合用 git clone --depth=1 的場景:你只是想 clone 最新版本來使用或?qū)W習(xí),而不是參與整個項目的開發(fā)工作。
git clone --depth=1 后拉取其他分支的方法
cd xxx
git fetch --unshallow
這個命令用于將淺克隆(shallow clone)的代碼倉庫轉(zhuǎn)換為完整克?。╢ull clone)。在淺克隆中,只克隆了最新的一次提交,而沒有完整的歷史記錄。git fetch 命令用于從遠程代碼倉庫獲取最新的提交和分支信息。–unshallow 參數(shù)告訴 Git 將淺克隆轉(zhuǎn)換為完整克隆,獲取完整的歷史記錄。執(zhí)行這個命令后,你將能夠訪問和操作完整的代碼倉庫。
二、修改host文件解決
大型網(wǎng)站服務(wù)器都不會是只有一臺服務(wù)器,而是多臺服務(wù)器組成的集群一起對外提供服務(wù)。
使用站長工具測速,找一個速度比較快的服務(wù)器。
然后,把剛才查到最快的 IP 地址和 Github 域名的字符串放在 hosts 文件最后,Mac 在 /etc/hosts
中,Windows 在 C:\Windows\System32\drivers\etc\hosts
中。
如本人本電腦查到最快的 IP 地址為:140.82.121.4(不同地方速度不同,以個人情況為準)。
最后,刷新 DNS 緩存使增加的映射生效。Mac 刷新 DNS 緩存,在終端輸入 sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder
,Windows 刷新 DNS 緩存,cmd 命令窗口執(zhí)行 ipconfig /flushdns
。
執(zhí)行完這些后,你會發(fā)現(xiàn)速度明顯快了很多。
三、谷歌瀏覽器插件加速
為你的瀏覽器,安裝一個插件【Github 加速】。
安裝成功后,打開 Github 會看到如下界面,多了一個加速按鈕和加速地址。
四、油猴插件和腳本
為你的瀏覽器,安裝一個插件【Tampermonkey】。
然后安裝 Github 增強腳本,安裝成功后,Code 下方會多出多個加速地址。
五、gitclone.com
這是我用過最爽實用功能最全面的一個方式了。 https://gitclone.com 是一個提供下載緩存的代碼下載網(wǎng)站,使用方法十分簡單,只需要在倉庫地址前面加上 gitclone.com,就可以使速度提升幾倍。
例如要克隆 Github 上倉庫地址? ?https://github.com/killer-p/ctool.git?? 只需將地址改為 ??https://gitclone.com/github.com/killer-p/ctool.git??,在命令行中執(zhí)行?? git clone https://gitclone.com/github.com/killer-p/ctool.git??
,速度直接起飛!
gitclone 的工作機理是:當開發(fā)者第一次經(jīng) gitclone.com 代理 clone 項目時,gitclone.com 異步鏡像項目,以后有開發(fā)者 clone 該項目時,就會利用上 gitclone.com 的本地鏡像,而不是從 github.com 上 clone。gitclone.com 會在每天夜間與 github.com 同步。目前 gitclone.com 對 star 超過 1500 的都做了鏡像。通過 gitclone.com clone,如果能命中鏡像,則速度會達到 1M 多,如果之前未 mirror 過,會隨著 git clone 命令建立起鏡像,下次 clone 會用到
六、Github 加速下載鏈接
網(wǎng)站地址:https://github.zhlh6.cn/。
復(fù)制 Github 倉庫的地址,然后粘貼到第一欄,點擊加速!生成加速地址,使用加速地址進行 git clone 下載,下載速度最高能提升到 1M。
七、Github 鏡像訪問
Github 鏡像就是一個跟 Github 一模一樣的網(wǎng)站,他會同步 Github上 的資源,國內(nèi)訪問 Github 鏡像的速度較快,也可以在鏡像下載倉庫,平時逛逛 Github 也可以使用鏡像,反正比較快,缺點就是不能登錄。
鏡像地址:https://hub.fastgit.org
注意這個網(wǎng)站不能登錄 Github 賬戶,點擊 sign in 會被瀏覽器攔截。
八、使用碼云下載
碼云本身支持從 Github 等其他代碼托管網(wǎng)站一鍵導(dǎo)入repo,然后直接從碼云上 clone 就會非常方便。
使用方法如下:首先,在碼云中創(chuàng)建新倉庫,直接選擇導(dǎo)入其他網(wǎng)站已有倉庫,
復(fù)制倉庫的 url,或者直接選擇導(dǎo)入 Github 倉庫,如下圖所示:
等個幾十秒,碼云把 Github 上的項目拉下來,放在了碼云的服務(wù)器上,這時候我們就可以從碼云下載倉庫了。由于碼云服務(wù)器在中國,下載速度很快。
參考資料,感謝以下文章
Github下載速度慢 提升github下載速度最新解決方案 跟龜速說拜拜文章來源:http://www.zghlxwxcb.cn/news/detail-467693.html
解決Github不能下載,下載速度慢的小妙招文章來源地址http://www.zghlxwxcb.cn/news/detail-467693.html
到了這里,關(guān)于解決GitHub下載速度太慢問題的方法匯總(持續(xù)更新,建議收藏)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!