【问题标题】:Git Clone is too slowGit克隆太慢了
【发布时间】:2013-03-23 04:05:16
【问题描述】:

这是我第一次搭建git服务器。当我使用 TortoiseGit-1.8.1.0-32bit 处理操作时,一切正常!

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

谁能给我一些建议?

【问题讨论】:

  • 请定义“慢”。显示命令的输出也有助于我们诊断问题。
  • @RyanBigg 查看链接
  • 乌龟的配置有什么不同吗?
  • superuser.com/questions/485638/… 有帮助吗? (至少一个答案)
  • 当我使用 TortoiseGit 时,速度是正常的。只能用git命令或者git bash,速度比较慢。

标签: tortoisegit git-clone git-bash git


【解决方案1】:

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

$ git clone --depth=1 git@github.com:joe/hello-world.git
$ cd hello-world
$ git fetch --unshallow

谢谢this article

【讨论】:

    【解决方案2】:

    如果你和我一样,已经将 TortoiseGit 配置为使用 Putty 的 plink 进行连接(并使用 pageant 等),这可能会对你有所帮助:

    尝试在 Putty(默认设置)中启用以下设置:

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

    对我来说,这导致从 143.00 KiB/s 到 4.50 MiB/s

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      这里有两个问题:

      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/s。这个结果是通过将 OpenSSL 从 0.9.8e 版本升级到 1.0.1e 版本来实现的。

      第 2 部分。SSH 协议

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

      【讨论】:

      • 嘿,您说您使用的是 OpenSSL 1.0.1e。这是 Heartbleed expolit 的易受攻击版本。我建议尽快升级到 1.0.1g 或更高版本。
      • OpenSSH(客户端)使用 OpenSSL 的方式不会让他容易受到 Heartbleed 的攻击,我不认为。
      • 您的典型 msysgit 从 2007 年开始带有 OpenSSL 4,它存在错误。您可以使用version 6 (Jun 2015) of OpenSSL, built by mls-soft 来挽救这一天。
      猜你喜欢
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-07
      • 2015-12-06
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      相关资源
      最近更新 更多