我在我的几台计算机上安装了msysGit,并且只在一台特定的计算机上遇到问题(当然我的主要工作计算机)。 'git clone'不起作用。当我在存储库上运行clone命令时,会发生以下情况:
C:\Projects>git clone git://github.com/[user]/[project].git
Initialized empty Git repository in C:/Projects/[project]/.git/
它开始填充.git目录,但从不拉下任何其他内容。我已经离开了几个小时,看看它是否至少会抛出一个错误。它继续坐在那里。如果我尝试取消它,它就可以正常工作。它似乎从来没有把存储库拉下来。我在多个地方的多个存储库中尝试过这个。有没有人知道可能发生的事情?
答案 0 :(得分:4)
您是否尝试使用http地址进行克隆?
目前使用msysgit(issue 136)的票证存在同样的问题,目前的解决方法是使用http而不是git地址进行克隆。
尝试的其他举措:
GIT_TRACE=1
(并发布输出)这里切换到旧版本的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,一切正常。