git:'http-push'不是一个git命令。 致命的:git-http-push失败

我试图通过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 )。 这在一个Redhat Enterprise Linux 5虚拟机上,一个全新的安装,运行在VMWare Player中。 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没有问题。

我在Windows上有这个完全相同的错误。 我尝试了几个不同版本的git都有相同的错误。 我最终追查到这个问题是由于libcurl没有找到或者没有在正确的地方造成的。 就我而言,我将libcurl.dll从Git \ bin文件夹复制到Git \ libexec \ git-core文件夹中。 然后我不得不将它重命名为libcurl-4.dll。 我的猜测是类似的情况发生在你的情况下,至于在* nix-land中找到libcurl共享库。