【经验】Git|Linux终端git太慢,改hosts、复制文件夹、用镜像源?不不不不不

  有个同学问我Linux下想要克隆一个仓库怎么办,并给我发了一个word,记录了他的操作。看完之后我的血压都上来了,遂记之。

  下文分成两种情况,克隆一两个仓库,和克隆一大堆仓库。

一、只需要克隆一两个仓库

  这种情况有超级多解决办法,介绍几种常用的(以实用性排序):

1 导入到Gitee中

  对于常用仓库,直接从URL导入即可。示意图如下,就是新建仓库然后从URL导入,得到gitee访问链接,从而加速克隆。

在这里插入图片描述

2 先下载zip,再共享过去

  不管是gitee、github还是gitlab,网页上都有一个直接Download ZIP的选项,避免因为系统不同,文件在迁移之前出错。

在这里插入图片描述
  下载好之后,直接通过虚拟机的共享文件夹(如果不是虚拟机,就用u盘或其他外设)转移过去,或者直接拖过去就行。

使用xftp或者其他文件传输工具也行,只是个人觉得有点麻烦。

  注意:在Linux下,再进行解压!

直接拖文件夹,可能会因为Windows会在文件后加 EOF(End Of File)符号,而Linux不会,而出现异常。

扫描二维码关注公众号,回复: 14807879 查看本文章

  至于为什么Windows上能访问网页,Linux上不能,一方面是网络原因,另一方面有可能Linux不带桌面系统,没安装浏览器。

3 镜像源

  把需要克隆的仓库的github.comgitlab.com换成现在国内的镜像站。我大二用的镜像站hub.fastgit.org在大三已经挂了,所以这种方法的不靠谱程度可见一斑。新的镜像站我也再没找过了。

  临时找镜像站也可以,注意设置一下搜索引擎的搜索时间。最好是限定在1年之内,找个最新的可用的镜像站。现在2023/2/17,很好用的比如:ghproxy.com,网址和使用说明见:https://ghproxy.com/

注意

  需要额外指出的是:以上两种方式下克隆的git仓库,并不会修改git仓库里面的文件的git链接。所以假设这个仓库引用了其他仓库作为子模块,或者这个仓库的初始化需要克隆其他的仓库,就等于需要克隆一堆库!就不适用于上面那种方法,请接着看下文。

二、需要克隆一大堆库

  首先可以说明的是,改hosts一般没什么用。

  第一,要解决的问题是无法访问github和gitlab,我们凭什么觉得dns服务器遍历迭代解析出来的都不能访问,而自己在网上搜的github和gitlab的ip地址能访问?
  第二,网友的文章和我们处于错位时空,我们凭什么认为自己所在的地区、当前时间能够访问网友能访问的ip地址?
  第三,要是真的碰上了一个能访问的ip地址,克隆到一半挂了不是还得继续找新的?
  第四,即使不怕麻烦,我们凭什么相信自己知道怎么改hosts、刷新dns缓存?

  所以如果真有一大堆库要克隆,还是弄个“网络”吧。

  接下来,仅介绍一下为什么已经连上“网”了终端的git还是很慢

Linux终端git太慢

  相信看这一步的,都是Linux网页已经能够正常访问github和gitlab(投来一个懂的都懂的眼神),但是还是clone不下来吧。

  先说一个结论:Linux终端要重新配置一下。

  配置方法如下:在~/.bashrc中,把https和http的端口改成你的http的端口,把ftp的改成你的socks端口,然后重启终端即可。

sudo gedit ~/.bashrc
export https_proxy=http://127.0.0.1:8889 
export http_proxy=http://127.0.0.1:8889 
export ftp_proxy=socks5://127.0.0.1:1089
git config --global http.https://github.com.proxy http://127.0.0.1:8889

末:我的建议是,如果能访问github和gitlab,就不要在这个网站上搜解决方法了,去更广阔的互联网上搜!你会发现教程真的蛮多蛮详细的。

猜你喜欢

转载自blog.csdn.net/qq_46106285/article/details/128914165