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)。这在 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。

4

1 回答 1

1

我在 Windows 上遇到了同样的错误。我尝试了几个不同版本的 git 都出现相同的错误。我最终追查到问题是由于找不到 libcurl 或不在正确的位置引起的。就我而言,我将 libcurl.dll 从 Git\bin 文件夹复制到 Git\libexec\git-core 文件夹。然后我不得不将它重命名为 libcurl-4.dll。我的猜测是在你的情况下发生类似的事情,就像在 *nix-land 中找到 libcurl 共享库一样。

于 2014-03-21T06:57:19.470 回答