由于众所周知的原因,有时国内访问github并不顺畅。在下载和推送项目时有时会卡住。这里总结一下解决方案。
1. 确保DNS没并劫持
如果您所在区域ping不通github.com,或是DNS返回错误的IP,则您需要手动修改hosts来使github指向正确的服务器。一般可以到云服务器上看看github的真实IP。在hosts文件上手动设置域名解析。注意不要尝试用非本地运营商的DNS,在国内只要经过运营商网关,区域内有限制的话,不加密不可能让你能有正确解析,本地的墙会基于规则代替真实的DNS服务器返回结果。其它方式,可以参考github上的开源项目,比如用pvpn来通过境外路由访问网络。
2. 用git而不要用https
一般我们喜欢用git clone https://github.com/username/project.git来操作,但这个https在国内很不好用,最好是用git。值得注意的是,仅用git://来代替https://,推送项目时会出错。正确的做法是git clone时就用
git clone git@github.com:username/project.git
如果您之前用https下载,想改用git推送,可以这样操作
git remote rm origin git remote add origin git@github.com:username/project.git git push origin
上面username和project换成你的,就可以用了。