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


  1. https://blog.csdn.net/shareye1992/article/details/81626554 ↩︎

  2. 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 ↩︎

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐