【问题标题】:TortoiseGit: Unable to Git clone private repository on VPS using SSHTortoiseGit:无法使用 SSH 在 VPS 上 Git 克隆私有存储库
【发布时间】:2019-01-26 05:40:40
【问题描述】:

我正在尝试使用 TortoiseGit 克隆一个存储库。我只能通过 SSH 访问我在 VPS 上的 git 存储库。我收到以下错误:

git.exe clone --progress -v "ssh://git@xx.xx.xx.xx/home/git/git-repo/myproject.git" "C:\xampp\htdocs\myproject"

Cloning into 'C:\xampp\htdocs\myproject'...
/usr/bin/bash: git@xx.xx.xx.xx: No such file or directory
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

但是,我可以在 Windows 上使用 Git Bash 克隆我的私有存储库。这很奇怪。我在使用 TortoiseGit 进行 SSH 时做得正确吗?

【问题讨论】:

  • 您确定您的 SSH 密钥可以访问上述存储库吗?您是否正确配置了 SSH 密钥?
  • @DipenShah 我可以使用 SSH 进行 git 克隆,但不能使用 TortoiseGit。 SSH 密钥已添加到 Git 服务器。
  • 我刚刚通过 ssh 用 tortoisegit 克隆,我的输出没有 ssh:// , git.exe clone --progress -v "git@github.com:user/repo.git" "path/to/some/folder"

标签: git tortoisegit


【解决方案1】:

虽然我不熟悉 TortoiseGit,但看起来您应该使用在许多通过 SSH 完成复制的应用程序中常见的语法。即:<username>@<server>:/path/to/thing/that/needs/copying。 (注意中间的冒号。)

我建议更改您正在运行的命令,在 /home 之前添加一个冒号:

git.exe clone --progress -v "ssh://git@xx.xx.xx.xx:/home/git/git-repo/myproject.git" "C:\xampp\htdocs\myproject"

【讨论】:

  • 这个问题是关于 TortoiseGit 的。我对 Git Bash 没有任何问题。请注意,我在 Windows 机器上。
  • 所以你是说 TortoiseGit 肯定违反了使用 Git 和 SSH 的常用语法?你试过我的建议了吗?
  • 是的。 TortoiseGit 应该以与 Git Bash 相同的方式工作,但它不是那样工作的。我可以使用 Git Bash 拉/推到 Git 存储库,但不能使用 TortoiseGit。我错过了什么?我已经尝试过你的语法,但它也不起作用。
  • 啊,好吧,如果冒号语法也不起作用,那么我不确定。抱歉打扰了,我没有足够的代表来对您的初始帖子发表评论;)似乎最好尝试一下,而不是让它无人回答:)
【解决方案2】:

但是,我可以在 windows 上使用 Git Bash 克隆我的私有存储库

由于您使用的是 Windows,因此请尝试测试以在您想要的任何地方使用和解压缩 latest Git for Windows 便携式存档 PortableGit-2.19.0-64-bit.7z.exe。

然后在 CMD 会话中设置简化路径。

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
set GIT_HOME=C:\Path\to\Git
set PATH=%GIT_HOME%;%GIT_HOME%\bin;%GIT_HOME%\usr\bin;%GIT_HOME%\mingw64\bin;%PATH%

检查与 TortoiseGit 使用的命令完全相同的命令是否仍在工作:

git.exe clone --progress -v "ssh://git@xx.xx.xx.xx/home/git/git-repo/myproject.git" "C:\xampp\htdocs\myproject"

最后,仍然从该 CMD 启动 Tortoisegitproc.exe GUI 可执行文件,并查看克隆是否可以从此会话继续。

【讨论】:

    【解决方案3】:

    如果您更喜欢使用 ssh 密钥进行克隆,则需要创建 ssh 密钥并将其添加到 git 存储库 ssh 公钥。使用 ssh-keygen 生成你的 ssh 密钥

    【讨论】:

      猜你喜欢
      • 2012-10-03
      • 1970-01-01
      • 2020-09-20
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 2017-09-09
      相关资源
      最近更新 更多