我有一个远程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并推送已经克隆的存储库。
我尝试了这个错误,但没有多少帮助。有人也可以告诉我如何调试这种错误吗?
答案 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)
如果您的存储库中有太多标签,也会发生这种情况 (在我们的例子中,我们有超过一千个由詹金斯自动创建)
问题:保留那么多标签是否必要? 如果不删除其中一些