2013-04-02 49 views
8

这是我第一次构建git服务器。当我使用TortoiseGit-1.8.1.0-32bit来处理操作时,一切都很好!Git Clone太慢了

但是,如果我使用git clone命令或git bash,那么git克隆进程速度太慢了。我附上了两张图片,显示了下面的相对传输速度git clone

有人可以给我一些建议吗?

Cloning via TortoiseGit

Cloning via git command

+2

请定义“慢”。显示命令的输出也会帮助我们诊断问题。 –

+0

@RyanBigg查看链接 – wRAR

+0

Tortoise是否配置有区别? –

回答

6

有在这里打球两个问题:

  1. 您的OpenSSL是不是最新的
  2. SSH协议是远远超过HTTPS慢(但不)

第1部分的OpenSSL

从下面的文章,http://darrell.mozingo.net/2011/09/29/painfully-slow-clone-speeds-with-msysgit-gitextensions/方向后,我成功地增强了我的网络吞吐量为git clone操作从1 MIB/s到28 MIB /秒。通过将OpenSSL从版本0.9.8e升级到版本1.0.1e可以实现此结果。

第2部分:SSH协议

的SSH协议而不是HTTPS协议稍微慢一点,但还不足以保证我所提到的速度差异在第1部分或你所看到的。请阅读本文以获取有关Git协议的更多信息:http://media.pragprog.com/titles/tsgit/chap-008-extract.html

+0

嘿,你说你在使用OpenSSL 1.0.1e。这是Heartbleed expolit的一个易受攻击的版本。我建议尽快升级到1.0.1g或更高版本。 – richoffrails

+0

OpenSSH(客户端)不使用OpenSSL的方式使他容易受到Heartbleed的攻击,我不这么认为。 – Mark

+0

您的典型msysgit附带OpenSSL 4,从2007年开始,它有bug。您可以使用由[mls-soft](http://www.mls-software.com/opensshd.html)构建的OpenSSL版本6(2015年6月)来节省时间。 –

3

如果你和我一样,都配置TortoiseGit使用腻子的砰砰连接(并使用选美,等...),这可能会帮助您:

尝试启用腻子(默认设置)以下设置:

  1. SSH - >验证: “允许代理转发”(我相信这是一个把 “一切” 的那个)
  2. SSH - > “启用压缩”
  3. 会议 - >选择“默认设置“ - >保存

对于我来说,这导致从143.00昆明植物研究所/ s的要4.50 MIB/s的

希望这有助于。

5

也许你可以先只获取最新版本,然后取其余:

$ git clone --depth=1 [email protected]:joe/hello-world.git 
$ cd hello-world 
$ git fetch --unshallow 

感谢this article