git: 'remote-http' 不是一个 git 命令错误(已解决)
问题
Git 报错信息是:
git: 'remote-http' 不是一个 git 命令。参见 'git --help'。
致命错误:remote helper 'http' aborted session
这个错误通常是因为 Git 的 http 或 https 协议支持模块缺失,即 Git 在尝试通过 HTTP 协议拉取仓库时,找不到对应的git-remote-http。
git clone by http auth
基于http协议用户密码clone,git老板支持git-remote-http
git clone --depth 1 -b test --single-branch http://xxx:yyy@zzz.git
分析
执行以下命令查看是否有 git-remote-http
1 | git --exec-path |
输出例如:
/usr/lib/git-core
然后查看是否存在 remote helper:
1 | ls /usr/lib/git-core/git-remote-http |
如果存在该文件,则可以正常克隆 HTTP 仓库:
1 | git clone http://xxxx.git |
注意:不存在则降级git版本,新版本已不支持 git 1.8支持
ubuntu-22.04 LTS也是默认git支持的
root@dev:~# apt info git
Package: git
Version: 1:2.34.1-1ubuntu1.15
Priority: optional
root@dev:~#
root@dev:~# git --exec-path
/usr/lib/git-core
root@dev:~# ls /usr/lib/git-core/git-remote-http
/usr/lib/git-core/git-remote-http
root@dev:~# git --version
git version 2.34.1
解决
m1: 降级git
yum info git
yum install -y git
- 如果你是 Windows 用户:
- 官网重新下载安装包:https://git-scm.com/downloads
m2:使用 SSH 而不是 HTTP
如果你有权限访问该仓库的 SSH 地址,建议使用 SSH 克隆:
1 | git clone git@yourdomain.com:user/repo.git |