关于git:尝试通过防火墙从github加载文件是不可能的。 有任何解决方法的建议吗?

关于git:尝试通过防火墙从github加载文件是不可能的。 有任何解决方法的建议吗?

Trying to load files from github through a firewall is impossibly slow. Any suggestions for workarounds?

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

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

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


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


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


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

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

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

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

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

改用这个:

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

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

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

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


我正在使用git clone git@ssh.github.com:xxx.user / xxx.proj


1
git config --global url."https://".insteadOf git://

做完了!


推荐阅读