ssh克隆不克隆git中的repo

Posted

技术标签:

【中文标题】ssh克隆不克隆git中的repo【英文标题】:ssh clone not cloning repo in git 【发布时间】:2013-08-07 02:11:11 【问题描述】:

我想使用 ssh 克隆另一个人的 repo。为此,我做了以下事情:

在本地机器中生成了一个 ssh 密钥。 将密钥添加到必须从中克隆存储库的用户帐户。 通过运行ssh -T git@github.com 测试是否添加了密钥,其输出: Hi username! You've successfully authenticated, but GitHub does not provide shell access.git clone git@github.com:repo/repo.git

最后一步输出 Cloning into 'Foldername'... 我可以看到文件夹已创建但文件夹中没有文件。我把它放了 1 个小时,但没有复制任何东西,我还检查了网络,但它工作正常。 我在 windows 上使用 cygwin 来克隆 repo。

我做错了什么?

【问题讨论】:

您是如何生成 ssh 密钥的?您是否将您的公钥添加到您的帐户?您是否尝试过克隆任何小型公共存储库? 是的,我早上用用户名和密码克隆了小仓库,效果很好,但是当我使用 ssh 和 git@github.com:repo/repo.git 进行克隆时,它只是不断给出克隆文件夹名称...我只将公钥添加到远程用户的帐户中,是否需要将密钥添加到我的帐户中? 你一直在说的这个“远程用户”是谁?您是否正在尝试克隆您自己的存储库之一? 对不起,误导性的术语,实际上回购不在我的帐户中,而是在我同事的帐户中。我不能在我的帐户中分叉它,因为它将是公开的。所以我将密钥添加到那个不是我的帐户中。 【参考方案1】:

我已经解决了这个问题。问题是由于 Git bash 和 cygwin 的主目录不同而发生的。

当我在我的 cygwin 终端中生成 ssh 密钥时,该密钥被添加到 cygwin 的 .ssh 文件夹,它是 C:\cygwin\home\windows\.ssh,当我运行命令 ssh -T git@github.com 时,它使用 ssh 密钥对我进行了身份验证位于 cygwin 的 .ssh 目录中。

但是当我运行命令 git clone git@github.com:repo/repo.git 时,使用了 git bash 的主目录 中的密钥,该密钥位于 C:\Users\windows\.ssh 中。我将 cygwin 的 .ssh 文件夹中的密钥复制到该文件夹​​中,一切正常。

但奇怪的是git clone git@github.com:repo/repo.git 命令没有抛出任何错误,而是直接挂起。

【讨论】:

+1。我最初的回答是关于分叉的“私有”性质的很好的补充。【参考方案2】:

我不能在我的帐户中分叉它,因为那样它将是公开的。

不:你 fork 的私人回购......将保持私人状态! 这在“If I fork someone else's private Github repo into my account, is it going to appear in my account as a public repo?”中有详细说明。

因此,如果从您的帐户克隆有效,则分叉您同事的回购可能是一个很好的解决方案。

【讨论】:

【参考方案3】:

GitHub is currently experiencing downtime(另见https://status.github.com/),这可能是您的问题:

我们正在调查独角兽的增加。

这是一种幽默的说法,人们在 GitHub 上的页面上得到 404,因为他们的 404 页面上有一只独角兽:

It's not uncommon for GitHub to experience minor/major outages,可能是因为它是如此受欢迎的服务。他们还体验了occasional DDoS attack:

我们目前正遭受大规模 DDoS 攻击。该网站正在经历重大...查看更多信息https://status.github.com/。

【讨论】:

我尝试了 2 天,但无法克隆它。

以上是关于ssh克隆不克隆git中的repo的主要内容,如果未能解决你的问题,请参考以下文章

在克隆之前更改 SSH 远程上的 Git 分支

用于克隆私有 git repo 的 Dockerfile

如何使用 GIT 扩展在另一台 PC 中克隆另一个 repo?

使用GIT_SSH错误使用自定义SSH进行Git克隆

克隆 git repo 导致错误 - 主机密钥验证失败。致命:远端意外挂断

团队成员无法从 BitBucket 克隆 repo?