GitHub 訪問(wèn)不了?教你幾招輕松解決
輕輕松松從 GitHub 上下載項(xiàng)目~
GitHub 是全球最大的代碼開(kāi)源平臺(tái),小伙伴們平時(shí)都喜歡在那里找一些優(yōu)質(zhì)的開(kāi)源項(xiàng)目來(lái)學(xué)習(xí),以提升自己的編程技能。
但最近,由于某些特殊原因,越來(lái)越多小伙伴抱怨自己突然無(wú)法訪問(wèn) GitHub 了,時(shí)好時(shí)壞。某位大佬給出的解釋是:

這無(wú)疑是在我們學(xué)習(xí)編程的路上駐了一堵高墻!這怎么能忍?

下面,魚(yú)皮教大家?guī)追N方法,繞過(guò)這堵墻,成功下載 GitHub 上的項(xiàng)目。過(guò)程非常簡(jiǎn)單,一兩分鐘就能學(xué)會(huì)!
1. 改 hosts
我們?cè)跒g覽器輸入 GitHub 的網(wǎng)址時(shí),會(huì)向 DNS 服務(wù)器發(fā)送一個(gè)請(qǐng)求,獲取到 GitHub 網(wǎng)站所在的服務(wù)器 IP 地址,從而進(jìn)行訪問(wèn)。
就像你是一名快遞員,在送快遞前要先找中間人詢(xún)問(wèn)收件人的地址。而 DNS 就是這個(gè)告訴你目標(biāo)地址的中間人,如果 DNS 告訴了你錯(cuò)誤的地址、或者請(qǐng)求被攔截、再或者 DNS 掛了,都會(huì)導(dǎo)致你無(wú)法訪問(wèn)網(wǎng)站。

那有什么辦法不經(jīng)過(guò) DNS,就獲取到網(wǎng)址對(duì)應(yīng)的 IP 么?
答案就是修改 hosts
文件。當(dāng)用戶(hù)在瀏覽器中輸入網(wǎng)址時(shí),系統(tǒng)會(huì)首先自動(dòng)從 hosts 文件中尋找對(duì)應(yīng)的 IP 地址,一旦找到,系統(tǒng)會(huì)立即打開(kāi)對(duì)應(yīng)網(wǎng)頁(yè),如果沒(méi)有找到,系統(tǒng)才會(huì)再將網(wǎng)址提交 DNS 域名解析服務(wù)器進(jìn)行 IP 地址的解析。
因此,想要訪問(wèn) GitHub,我們可以先通過(guò) IP 查詢(xún)工具 來(lái)獲取當(dāng)前 GitHub 網(wǎng)站的真實(shí)地址,再修改本地 hosts 文件,將該地址和 GitHub 網(wǎng)址關(guān)聯(lián)。

先找到 hosts 文件的位置,不同操作系統(tǒng),hosts 文件的存儲(chǔ)位置也不同:
Windows 系統(tǒng):
C:\Windows\System32\drivers\etc\hosts
Linux 系統(tǒng):
/etc/hosts
Mac(蘋(píng)果電腦)系統(tǒng):
/etc/hosts
Android(安卓)系統(tǒng):
/system/etc/hosts
iPhone(iOS)系統(tǒng):
/etc/hosts
打開(kāi) hosts 文件,添加一行,將 xx 替換為你查詢(xún)到的解析地址即可:
xx.xx.xx.xx?www.github.com
但這種方式比較麻煩,而且查詢(xún)出來(lái)的 IP 也未必支持國(guó)內(nèi)的訪問(wèn),所以下面再推薦另外一種更簡(jiǎn)單的方式!
2. GitHub520
國(guó)內(nèi)那么多程序員,肯定有人會(huì)挺身而出,解決大家無(wú)法訪問(wèn) GitHub 的難題。
GitHub520 就是一個(gè)幫助大家訪問(wèn) GitHub 的項(xiàng)目,本質(zhì)也是通過(guò)修改 hosts 來(lái)實(shí)現(xiàn)的。該項(xiàng)目的作者為大家提供了一份完整的 hosts 列表,無(wú)需大家自己查詢(xún)可用 IP,非常地貼心,而且每天都會(huì)更新!

此外,作者為了方便大家更新本地的 hosts,還提供了定時(shí)自動(dòng)更新 hosts 內(nèi)容的教程,比如使用 SwitchHosts 工具。配置一次,高枕無(wú)憂!

當(dāng)然,如果你已經(jīng)無(wú)法訪問(wèn) GitHub 了,可以先在 編程導(dǎo)航 獲取初始 hosts 地址,然后按照本文第一種方式配置即可。
3. 加速下載
如果通過(guò)上述兩種方式,仍無(wú)法訪問(wèn) GitHub,或者訪問(wèn)速度巨慢。那我們可以換種思路,直接把 GitHub 上的項(xiàng)目下載到本地。
現(xiàn)在有很多支持 GitHub 加速下載的網(wǎng)站,比如 GitClone,輸入項(xiàng)目名即可高速下載!

但是這種方法僅適用于下載項(xiàng)目使用或?qū)W習(xí),你仍然無(wú)法向 GitHub 提交代碼。
4. Gitee 導(dǎo)入
Gitee 是國(guó)內(nèi)版的 GitHub,支持在新建項(xiàng)目時(shí)直接導(dǎo)入已有的 GitHub 倉(cāng)庫(kù)。想要下載哪個(gè)項(xiàng)目的源碼,直接輸入對(duì)應(yīng)的 GitHub 倉(cāng)庫(kù)地址即可!

還可以隨時(shí)將 Gitee 的倉(cāng)庫(kù)和 GitHub 倉(cāng)庫(kù)進(jìn)行同步,并且倉(cāng)庫(kù)同步后,你就可以在這里提交和管理代碼了。

以上就是幾種訪問(wèn) GitHub 項(xiàng)目的方式,希望大家能夠好好利用 GitHub 來(lái)提升編程技能。
項(xiàng)目地址:https://www.code-nav.cn/rd/?rid=79550af2605308df0ab184e243bf9058