无法克隆克隆,但可以对已经克隆的仓库进行Git拉/推

时间:2011-04-07 05:20:01

标签: git clone

我有一个远程Git存储库,我从中克隆并能够拉/推到该存储库。但最近,当我试图将同一个存储库重新放入另一个目录时,它无法正常工作。

$ git clone -v 'http://user@server.com/git/project.git' project  
Initialized empty Git repository in f:/temp/project/.git/  
Password:  
error: cannot spawn git: No such file or directory

我仍然可以执行git pull并推送已经克隆的存储库。

我尝试了这个错误,但没有多少帮助。有人也可以告诉我如何调试这种错误吗?

3 个答案:

答案 0 :(得分:1)

git无法启动所需的子命令以获取HTTP存储库。它可能是/usr/lib/git-core/git-http-fetch - 如果它丢失了,重新安装Git。


如果在Linux上,请使用strace来验证git尝试执行的程序。

strace -o /tmp/git.log git clone http://.../

grep "^exec" /tmp/git.log | grep "ENOENT"

答案 1 :(得分:1)

无论出于何种原因,http都无效。这可能是您的git http服务器(如果它影响多个客户端)或您的git安装(如果所有这些客户端使用相同版本的git)的问题。

您现有的存储库正在使用ssh,这是git remote -v告诉您的内容。所以你可以继续使用它。 git clone user@server.com/git/project.git应该有用。

答案 2 :(得分:0)

如果您的存储库中有太多标签,也会发生这种情况 (在我们的例子中,我们有超过一千个由詹金斯自动创建)

问题:保留那么多标签是否必要? 如果不删除其中一些