仅在从脚本克隆时出现“GitHub SSH 访问暂时不可用”

问题描述 投票:0回答:2

我正在尝试自动化与 Git 的交互来构建脚本,但遇到以下问题。

这可以从命令行运行:

git clone [email protected]:blablabla/reponame.git /Users/myname/dev/myfolder

现在我想做同样的事情,但是从我的脚本开始。我有以下内容:

#/bin/bash

repository="[email protected]:blablabla/reponame.git"

localFolder="/Users/myname/dev/myfolder"

git clone $repository" "$localFolder

这给了我这个错误

GitHub SSH 访问暂时不可用(0x09)。 fatal:远端意外挂断

对此的任何了解将不胜感激

git bash ssh git-clone
2个回答
25
投票

你的意思是

git clone "$repository" "$localFolder"
,我希望吗?

跑步

git clone $repository" "$localFolder
是完全不同的事情:

  • 因为两个变量都不在双引号内,所以它们的内容是字符串分割和全局扩展的;因此,如果它们包含空格(通常是
    $IFS
    中的字符),它们可能会成为多个参数,如果它们包含 glob(
    *
    [...]
    等),这些参数可以替换为文件名(或者简单地删除)从生成的参数列表中,如果启用了
    nullglob
    shell 选项)
  • 由于两个参数之间的空格被引号引起来,因此它们在传递给
    git
    之前会合并为一个参数。

因此,对于您给出的值,此脚本运行的内容将是:

git clone "[email protected]:blablabla/reponame.git /Users/myname/dev/myfolder"

...这与

有很大不同
git clone [email protected]:blablabla/reponame.git /Users/myname/dev/myfolder

...因为它提供了

/Users/myname/dev/myfolder
路径作为 URL 的一部分。


-1
投票

我遇到了同样的问题,我想克隆我的所有 GitHub 存储库(所有分支)以将其备份到文件夹中。我创建了一个 python 脚本来执行此操作,位于此处https://github.com/tisma95/github-clone如果需要,您可以尝试使用它。

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.