试图通过防火墙从github加载文件的速度太慢了。有任何解决方法的建议吗?

时间:2020-03-06 14:19:18  来源:igfitidea点击:

我有点犹豫要发布此信息,因为我不确定自己在做什么。任何帮助都会很棒。

我在装有防火墙/过滤器的计算机上。我可以轻松下载文件。但是,当我尝试从Github克隆文件时,计算机只是挂起了。什么都没发生。它会在文件夹中创建一个git文件,但不会加载关键文件。就上下文而言,我正在使用Rails应用,尝试加载Restful Authentication。

你们有没有处理这个?有关使克隆正常工作的任何建议?禁用防火墙可能是一种选择,但是如果我可以在不执行该过程的情况下做一些事情,我将不胜感激。

解决方案

git://协议使用端口9418,因此我们应确保防火墙允许对该端口的出站连接。

Github支持使用端口9418上的git协议和端口80上的HTTP进行克隆。使用后者非常慢(参考)。
我们应该在防火墙上打开端口9418,否则请使用HTTP克隆。

如果防火墙已不存在并且想要git的速度[更新:HTTP(S)如今几乎与ssh一样快,但是如果SSH是访问存储库的唯一方法,则此信息仍然有用] ssh访问没有防火墙的计算机,然后使用ssh隧道。

为此,请在一个窗口中运行它,并使其运行:

$ ssh username@some_host_not_firewalled -L9418:github.com:9418

然后,无论我们在何处使用前一个命令:

$ git clone git://github.com/jruby/jruby.git

改用这个:

$ git clone git://localhost/jruby/jruby.git

如果我们修改(全局)git config,则可以自动完成此翻译:

$ git config --global url.git://localhost/.insteadOf git://github.com/

或者...只需将" git://"前缀更改为" http://"

我正在使用git clone [email protected]:xxx.user / xxx.proj