Git:"http-push"不是一个Git命令。致命错误:git-http-push失败。

3

我试图通过https推送到一个仓库,但是收到以下错误信息:

[root@localhost systemevents]# git push
git: 'http-push' is not a git command. See 'git --help'.
fatal: git-http-push failed

我没有检查SSL证书 (git config --global http.sslVerify false)。这是在VMWare Player运行的Redhat Enterprise Linux 5虚拟机上进行的全新安装。Git是以以下方式安装的:

./configure --with-openssl --with-expat=/opt/expat --with-curl=/opt --prefix=/usr/local
make all
make install

从源代码安装了Libssh2(v1.4.2);按照以下方式安装了Curl和Expat:

#Curl v7.26
./configure --with-libssh2 --enable-shared --prefix=/opt
make; make install

# Expat v2.1
./configure --prefix=/opt/expat
make; make install

我可以使用的yum软件库中这些程序的版本相当老,显然对于git push而言太旧了。这个错误信息对我来说相当令人困惑,不确定该怎么处理它。我可以通过HTTP克隆和拉取,没有问题。


你在repo上是否有读写问题,如http://talk.maemo.org/showthread.php?t=58301中所述?你正在推送到的远程服务器上的git版本是什么? - VonC
@VonC 我不这么认为,我遇到的错误就是这个,与maemo链接不同。目前我无法访问有关远程服务器的信息,我可以在周一从管理员那里获取详细信息。我认为这是客户端的问题,因为我能够从我的Windows XP主机推送而没有任何问题。 - slitomonous
你的代码库中远程地址是什么? - Dave Mascia
1个回答

1
我在Windows上遇到了完全相同的错误。我尝试了几个不同版本的Git,但都出现了同样的错误。最终我发现问题是由于找不到libcurl或者位置不对所导致的。在我的情况下,我将Git\bin文件夹中的libcurl.dll复制到了Git\libexec\git-core文件夹中,并将其重命名为libcurl-4.dll。我猜您的情况可能也是类似的,在*nix系统中无法找到libcurl共享库。

这已经是很久以前的事了,我不记得是否已经解决或者有什么变通方法了。不管怎样,这应该是正确的。 - slitomonous

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接