无法使用git clone git://...克隆存储库,但使用git clone http://...可以 - 有解决办法吗?

11

我是 Git 的新手。我正在为一个新的 Ubuntu 虚拟机安装 git 并尝试克隆一些仓库。以下命令可以成功地进行克隆:

git clone http://github.com/organisation_name/repo_name
(在提示输入用户名/密码后),但是失败了。
git clone git://github.com/organisation_name/repo_name

还有

git clone git://github.com/organisation_name/repo_name.git

使用相同的错误信息:

Cloning into 'repo_name'...
fatal: remote error:
Repository not found
当然,显而易见的答案是“使用http方法”,但我正在尝试理解为什么一个有效而另一个无效。有任何建议吗?(还有,使用.git扩展名命名repo名称时是否有区别呢?)
谢谢!
4个回答

10

嗯,我认为你在第二种情况下使用了错误的URL。

请尝试使用这个URL

git clone git@github.com:organisation_name/repo_name.git

使用git@时URL中的:与您当前使用的/不同,并且末尾多了一个.git。如果您前往GitHub并选择用于克隆的SSH URL(而不是默认选择的HTTPS URL),则应该是相同的URL。


谢谢您的提示。使用您提供的命令会出现稍微不同的错误...> 克隆到'<repo_name>'...
致命错误:无法连接到github.com: github.com:ai_socktype不支持Servname
- Tony B
抱歉 - mini-Markdown 出了问题,错误信息已添加在上方。我该怎么换行?! - Tony B
应该还有一个SSH URL,它是在URL下方的一个小链接。 - Anshul Goyal
抱歉造成困惑!我明白了。 - Tony B
现在告诉我如何给你的答案点赞(我也是stackoverflow的新手!) - Tony B
显示剩余5条评论

7
如果这是一个私有仓库,您需要将您机器的SSH公钥添加到您的帐户下https://github.com/settings/ssh,否则您将会得到您在此处列出的确切错误。

谢谢您的快速回复。我已经按照https://help.github.com/articles/generating-ssh-keys中描述的方法添加了SSH密钥。还有其他方式可以验证我的SSH密钥是否正确吗? - Tony B
2
运行“ssh git@github.com”并查看返回结果。如果您已正确设置,它应该返回您的用户名;如果没有,则应返回身份验证失败消息。还有可能是您的网络关闭了ssh出站连接,因此如果您得不到答案,那将是我的第一个猜测。 - Srdjan Grubor
好的!我输入了我的密码,然后收到了“您已成功验证”的消息,但在此之前是“通道0上的PTY分配请求失败”。需要担心吗? - Tony B
这很正常。看了ansh0l的回答后,他可能是正确的(我没有仔细查看url)。 - Srdjan Grubor

1
我想说一下,我的问题是网络问题。所有设置都没问题。我被告知网络没有过滤或阻止端口等任何事情,但在尝试了我能想到的和在网上找到的所有方法之后,我最终将笔记本电脑连接到手机上,一切都正常工作了。

1
查询:为何 HTTPS URL 可以工作而 SSH URL 不能? SSH URL 的目的是通过 SSH,一种安全协议,提供对 Git 存储库的访问。 要使用这些 URL,您必须在计算机上生成 SSH 密钥对,并将公钥添加到 GitHub 帐户中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接