通过 SFTP 克隆 Git 存储库

Posted

技术标签:

【中文标题】通过 SFTP 克隆 Git 存储库【英文标题】:Cloning a Git repository over SFTP 【发布时间】:2012-02-28 02:46:52 【问题描述】:

每次我尝试克隆我的 Git 存储库时都会遇到致命错误:

我运行这个:

$ git clone sftp://foo@bar.ca/git/foobar.git

我明白了:

fatal: Unable to find remote helper for 'sftp'

我正在尝试从一台服务器克隆到另一台服务器,两者都使用 SSH 身份验证。

我需要安装什么东西来启用这个 SFTP 远程助手吗?

提前感谢您提供的任何建议!

【问题讨论】:

我不认为git 直接支持sftp:你应该使用ssh:// URL。 当你git clone foo@bar.ca/git/foobar.git时会发生什么? 我打赌他会因为未指定协议而出错。 Git 支持 ftps 是不同的。我猜它不支持 sftp 的原因是因为如果你设置了 ssh 那么你就不需要 sftp 感谢 Borealid。你似乎是对的。 sftp 似乎比 ftp 快得多,有时在共享主机上,如果您通过 SSH 登录,您可以将 git 安装到您的主目录并设置 $PATH,但不适用于您的情况通过 ssh 执行命令(这是 git 与 ssh 远程存储库一起工作的方式)。因此,SFTP 是在这些情况下的选择。 【参考方案1】:

为了使 jdi 上面的评论更加明确:Git 中没有 sftp 远程助手。 Available remote helpers 包括 git-remote-ftps,但 ftps (FTP over SSL) 和 sftp (SSH File Transfer Protocol) 是 fundamentally different protocols。也就是说,使用 ftps 克隆 Git 存储库并不常见,您可能希望使用 ssh。

【讨论】:

以上是关于通过 SFTP 克隆 Git 存储库的主要内容,如果未能解决你的问题,请参考以下文章

通过 SSH 创建 Git 存储库并将其克隆到本地

如何在 Jenkins 中通过 *** 拉取/克隆 git 存储库?

使用 SourceTree 克隆非常大的 git 存储库时出错

无法从 linode 服务器克隆托管的 git 存储库

Azure Devops OnPremise,致命:克隆 Git 存储库时身份验证失败

无法通过 HTTP 使用 Git 进行克隆