致命的:ssh变种'简单'不支持设置端口

时间:2018-01-24 08:04:24

标签: git ssh tortoisegit

当我克隆远程GitLab项目时,出现以下错误:

NSString* foofile = [destinationPath stringByAppendingPathComponent:@"/tiles/17/70759/49235.png"]; //as an example
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:foofile];

我尝试重新安装TortoiseGit,但这并没有解决问题。

4 个答案:

答案 0 :(得分:43)

用于SSH工具检测的Git(> = 2.16.0)的内部行为已更改,TortoiseGitPlinkssh兼容后,plink不再被检测到。

这仅影响SSH URL是否包含端口,或者您是否已将Git配置为使用协议版本2.现在,您需要将环境变量GIT_SSH_VARIANT设置为ssh或将其配置为使用git config --global ssh.variant ssh进行Git设置。

在下一版本的TortoiseGit 2.5.7中,当TortoiseGit调用TortoiseGitPLink时,这将自动完成(参见https://tortoisegit.org/issue/3139)。如果从CLI使用TortoiseGitPLink,则仍需要设置。

更新(TLDR)

  • 将TortoiseGit更新为最新的稳定版本:https://tortoisegit.org/download/
  • 如果您使用来自Git CLI的TortoiseGitPLink,请在CLI上发出git config --global ssh.variant ssh或将环境变量GIT_SSH_VARIANT设置为ssh

答案 1 :(得分:19)

如果您使用的是Windows版本的git,请尝试以下方法:

git config --global ssh.variant ssh

对于那些不想大量混淆环境变量的人来说,这是一个更好的选择。

答案 2 :(得分:9)

将环境变量GIT_SSH_VARIANT设置为ssh。这将解决问题。

答案 3 :(得分:7)

修正
export GIT_SSH_VARIANT=ssh