Windows上的msysGit'git clone'无法正常工作

时间:2009-09-21 03:32:36

标签: git msysgit

我在我的几台计算机上安装了msysGit,并且只在一台特定的计算机上遇到问题(当然我的主要工作计算机)。 'git clone'不起作用。当我在存储库上运行clone命令时,会发生以下情况:

C:\Projects>git clone git://github.com/[user]/[project].git
Initialized empty Git repository in C:/Projects/[project]/.git/

它开始填充.git目录,但从不拉下任何其他内容。我已经离开了几个小时,看看它是否至少会抛出一个错误。它继续坐在那里。如果我尝试取消它,它就可以正常工作。它似乎从来没有把存储库拉下来。我在多个地方的多个存储库中尝试过这个。有没有人知道可能发生的事情?

2 个答案:

答案 0 :(得分:4)

您是否尝试使用http地址进行克隆?

目前使用msysgit(issue 136)的票证存在同样的问题,目前的解决方法是使用http而不是git地址进行克隆。

尝试的其他举措:

  • GIT_TRACE=1(并发布输出)
  • 尝试其他或旧版本的msysgit
  • 检查主计算机上是否存在任何防火墙/防病毒问题

这里切换到旧版本的msysgit可能是正确的选择:
GitHub support thread

  
    

您使用的是msysGit的1.6.4预发行版吗?有它已知的错误。
    我们建议使用稳定版本,例如1.6.0。

  
     

谢谢克里斯,就是这样:在切换回之前版本的msysGit(Git-1.6.3.2-preview20090608.exe)后,问题不再发生。


问题实际上可能影响任何Git1.6.4及更早版本:

  

git尝试通过发送HEAD请求检查包文件是否存在,但是在500错误上发生了阻塞,即某些(如果不是全部)github返回。

     

使用记者使用的存储库:

$ curl http://github.com/grails/grails.git/objects/info/packs
P pack-1290e84bed53bda28f0989dca48d836bd9104031.pack
P pack-bf40d38ae780512994e5127e832ed9d8853c186d.pack
P pack-f490d5f7d4671368f4a52c618ca9dce13b714ba1.pack
P pack-79e3a7f30e8989acc8403ac688be669a05384eef.pack

$ curl -I http://github.com/grails/grails.git/objects/pack/pack-bf40d38ae780512994e5127e832ed9d8853c186d.pack
HTTP/1.1 500 Internal Server Error
Server: nginx/0.6.26
Date: Fri, 04 Sep 2009 13:50:20 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Content-Length: 3193
Cache-Control: no-cache

请参阅this thread GitHub支持团队目前正在调查此问题:

  

我认为500s不是故意的,但我们的设置可能会有些奇怪的原因造成它们   我有一张票可以进一步调查这个问题。我有一种感觉,我们不会在移动之后搞乱这个,因为它可能与服务器配置有关。


Git1.6.4.4从9月16日开始contain a fix

  

Github服务器的解决方法有时会对1.6.4.3中的HEAD请求提供500(内部服务器错误)响应,引入了一个回归,导致在某些情况下由于未初始化的指针导致项目重新获取http segfault的项目释放。

mssysgit尚未发布(9月21日)自7月底原始1.6.4以来的任何新版本。 (他们可能正在等待1.6.5或1.7)

答案 1 :(得分:-1)

我遇到了这个问题,事实证明这是接受阻止的远程主机密钥的步骤。我只是正常地告诉主持人,接受了密钥,然后回到git,一切正常。