问题

从海外回来的这段时间,发现github在国内的访问不是很稳定,这也是个老问题了。尤其当前赶上国庆的时间节点上,出于护网的要求,多多少少github的访问会受影响的。由于现在手上的站点都强烈依赖 github 提交后自动通过对应一些云服务站实现自动编译和内容更新(3年前一直使用的wordpress现在已经换掉了),所以感觉还有些影响的。同也有时也懒得通过 VPN 之类的方式解决。这里就总结下简单的手动通过DNS指向解决的方法。

解决方法

方法1:DNS指向

通过 ip138.com 或者 站长之家的ping检测工具 可以获取到当前 github 主要的解析IP信息,将获取到的IP信息在 hosts 上做下 IP域名指向就可以了,一般对应的几个IP不会都同时有问题。

github-dns-ip

将这里获取到的IP通过去重,再配合自动化脚本自动更换 hosts 文件后,直接重新访问 github 就可以了。windows下hosts文件的目录为C:\Windows\System32\drivers\etc\hosts。

115.164.81.167 github.com
252.74.223.119 github.com

方法2:通过代理配置

除此之外也可以通过走http/https代理实现访问,如果本身有科学上网的APP,可以借助这些代理来提交git信息,对应的指令如下:

1yang@361way:/blog$ git config --local http.proxy 'socks5://127.0.0.1:1080'
2yang@361way:/blog$ git config --local https.proxy 'socks5://127.0.0.1:1080'

执行以后再查看对应的 git/config 文件可以查看到增加的有如下信息。

 1yang@361way:/mnt/d/mysite/blog$ cat .git/config
 2[core]
 3        repositoryformatversion = 0
 4        filemode = false
 5        bare = false
 6        logallrefupdates = true
 7        symlinks = false
 8        ignorecase = true
 9…………
10[http]
11        proxy = socks5://127.0.0.1:1080
12[https]
13        proxy = socks5://127.0.0.1:1080