很多开发者和普通用户在工作时常遇到一个头疼的问题:GitHub 无法访问。要么是网页转圈打不开,要么是代码拉取中断,或者开发者的头像和项目截图全部变成了裂开的图标。
遇到这种情况,很多人的第一反应是上网搜“最新 GitHub hosts 列表”,然后把一长串数字 IP 复制到电脑里。这种方法在几年前或许管用,但在现在的网络环境下,往往只能解决一时的需求,甚至会带来更多麻烦。
把上网比作按图索骥,DNS 解析就像帮你查地址的导航。GitHub 无法访问,不一定是网站本身坏了,也可能是 DNS 解析异常、缓存过期,或者当前网络链路不稳定。修改 hosts 相当于你在本地强行写死一个地址,但 GitHub 和相关 CDN 节点会动态调整,今天能用的地址,过段时间可能就不适合了。
为什么极度不建议“手动抄写静态 IP”?
网上流传的 hosts 文件大多包含类似 140.82.x.x github.com 的静态解析记录。如果你直接照抄,可能会踩到以下几个坑:
GitHub 作为全球化平台,相关服务和 CDN 节点会根据网络环境动态调度。如果你在系统底层写死某个旧 IP,一旦这个地址不再适合当前网络环境,就算你的网络恢复正常,也可能因为 hosts 记录过期而继续访问失败。这也是很多人遇到“刚改完能用,过几天又打不开”的原因。
与其到处复制别人给的 hosts,不如先把自己电脑上的网络配置排查一遍。
GitHub 无法访问,先判断是不是本机问题
在动手改系统配置前,请先确认是不是 GitHub 官方服务器自己崩了。你可以通过手机或其他网络访问 GitHub Status (githubstatus.com) 页面,查看当前服务是否全部飘绿。如果官方宕机,你改什么本地配置都没用。
方法一:刷新 Windows DNS 缓存与网络状态
如果确定官方没问题,首先尝试清理你电脑里过期的网络缓存:
- 按
Win + R键打开运行框,输入cmd,按回车打开命令提示符窗口。 - 在黑框中输入命令
ipconfig /flushdns并回车。 - 如果提示“已成功刷新 DNS 解析缓存”,请彻底关闭浏览器,然后重新打开测试 GitHub 能否访问。
方法二:清理并重置被错误修改的 hosts 文件
如果你以前胡乱添加过大量失效的 GitHub IP,现在反而会阻碍你的正常访问。你需要清理它们:
- 打开文件夹路径
C:\Windows\System32\drivers\etc。 - 找到名为
hosts的文件(如果没有后缀名,就选类型为“文件”的那个)。由于系统权限限制,建议先把它复制到桌面上。 - 右键桌面上的 hosts 文件,用“记事本”打开。
- 将里面所有带有
github.com、githubusercontent.com相关的旧 IP 记录全部删除并保存。 - 将修改后的文件拖回原来的
etc文件夹,覆盖原文件。(如果提示权限或只读,右键文件属性,取消勾选“只读”)。
这套排障思路适合谁?
这套排障指南适合偶尔访问 GitHub、遇到网络抽风需要临时恢复访问的普通用户或轻度折腾用户。它的核心是帮你理清网络配置,避免因为盲目乱改底层文件导致更严重的网络故障。
但是,必须提醒的是,这些本地排障手段只能解决 DNS 缓存异常、hosts 配置错误等本机问题。如果遇到的是运营商网络波动、公司或校园网络策略限制,单靠清理电脑设置并不能保证恢复访问。对于需要高频拉取源码的开发者,更建议使用稳定、合规的网络环境,并定期检查 GitHub 官方状态页、DNS 设置和本地开发环境配置。
相关链接与官方页面
免责声明:本文提供的方法仅限于操作系统层面的常规网络排障与缓存清理,旨在帮助用户恢复对正常公开项目的访问体验。国内不同地区运营商策略不同,本方案无法保证在所有网络环境下均可连通。本站不提供也不鼓励使用任何违规绕过所在地网络限制的代理工具或服务,请遵守相关网络合规要求。

评论(0)