【良心整理】windows,中国大陆,github客户端的基础坑和解决办法
主要的配置文件是两个:C:\Windows\System32\drivers\etc\hosts和某某点gitconfig。我们先记录一下初始状态:hosts没有任何github相关的东西
windows,中国大陆,github客户端。
这三个都是很好很好的,可惜配在一起有点问题。
我试了好几次,总结了一下基础的坑和解决办法:
主要的配置文件是两个:
C:\Windows\System32\drivers\etc\hosts
和
.gitconfig
后一个文件的路径因人而异,可以装个Everything搜一下
初始状态:
hosts没有任何github相关的东西
电脑里也没有.gitconfig文件
安装github
github客户端下载地址, 下载exe安装
速度贼慢,10kb/s下载100mb得一个小时。
改host好像能快一点,参考下一节 登陆github,不改也可以忍一下。
安装之后就蹦出来一个.gitconfig了
看看里面的初始内容(好吧我承认我看不懂)
登陆github
github客户端可以从在线github网站登录,但可能会出现一个浏览器github上不去的情况,也有可能不会出现。(以我非常有限的网络知识来猜测)大概是:如果出问题了,说明在我们的局域网上,github的ip地址和网站名称的链路没有建立正确。(如果登得上去就不用改host了,因为后面还得改回来)
于是需要我们去host文件里手动修改,修改的内容包括两个内容,网站名和IP地址。由于对不同的电脑,同一网站的IP会不同,所以github提供了帮我们检测对我们的IP。
github的地址:https://github.com.ipaddress.com/
还有一个需要建立连接的网站名是github.global.ssl.Fastly.net,查询它的IP地址的链接是 github.global.ssl.Fastly.net
现在我们把这俩网站和他们的IP加到Host文件里:
重要:结束之后再把这两行注掉,否则影响后面的Clone,Fetch和Push
Clone Repository
有两个Clone选项可以选:github.com和url
其中,Github.com的选项可能会出现如下问题:
而URL选项可能会出现如下问题:
这个问题的解决办法是在github.com和url两种clone方式二选一,选能用的那个。(经测试,哪个能用可以变来变去,一个小时前可以用url,期间啥也没动,过一会就只能用github.com了)
开始Cloning之后,由于我的Repository太大了,可能会出现如下问题:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
(也可能不出现orz…)
解决的方法是1在gitconfig中添加如下
缓存的大小可以根据repository的需要调整。
参考文献也说了可以采取其他的方式,不过是命令行的,我也没研究在客户端上怎么搞。
Commit 和 Fetch/Push
粗略地说,Commit是提交到本地,Fetch是从网络同步下来,Push是从本地同步到网络。
Commit
Commit可能会遇到如下问题:
就照上图所示,在命令行里输一下,之后.gitconfig就有了:
然后就能在本地提交了
Fetch / Push
遇到了如下问题:
那么在gitconfig里添加;
然后就Push成功了。
重启后又挂了
这里有个比较坑的情况。做完了上一步,重启一下电脑,发现客户端不能Fetch了。。。
结果是要在.gitconfig里加一个这个:
坑又来了:
这个时候再Push,很可能会出现
如果这样就嗯交,反复交,或者去host里重新输一遍IP
也可能这样
解决的方法是。。把这俩玩样儿再注释掉。。(其实这样也未必一定交得上,还是Host污染的问题,加不上就嗯交)
概括一下,就是由于github对中国大陆区的某些东西一直在变来变去,所以有时候需要以ssl登陆,有时候又不需要,有时候IP连得上,有时候又连不上
如果不想在.gitconfig文件和host文件里改来改去,可以参考2
https://blog.csdn.net/shareye1992/article/details/81626554 ↩︎
https://blog.csdn.net/goodjobman/article/details/118642321?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.essearch_pc_relevant&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.essearch_pc_relevant ↩︎
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)