GitHub克隆错误:无法切换到

3
我在尝试将一个仓库克隆到一个新目录时遇到了致命错误。我不知道哪里出错了。
我在 CentOS 服务器上,在命令行中运行以下命令:
git clone git@github.com:MYUSERNAME/REPONAME.git newdirectory
然后我收到了以下错误信息:
fatal: Could not switch to 'git@github.com/MYUSERNAME': No such file or directory
newdirectory 绝对存在,我登录的用户具有写入权限,并且已经设置了 GitHub 的 SSH 密钥。
如果我在 newdirectory 中放置一些内容,
请问有人有任何想法可以尝试吗?谢谢。
更新: 如果我尝试基于SSL而不是SSH,就会发生以下情况:
-bash-4.1$ git clone https://github.com/MYUSERNAME/REPONAME.git newdirectory 已初始化空的Git存储库/var/www/html/newdirectory/.git/ 错误:访问https://github.com/MYUSERNAME/REPONAME.git/info/refs时返回的请求URL错误:401
致命错误:HTTP请求失败
我认为这是可以预料的,因为它是一个私有的github仓库,我不确定https是否适用于私有仓库?这也是我过去一直成功使用ssh的原因之一。

HTTPS身份验证可以正常工作,如果没有提供身份验证,则应在需要时要求您进行身份验证。 401表示您用于身份验证的用户不再可以访问存储库。 如果不是这种情况,那么我会怀疑GitHub可能存在问题。 - Wolph
1
对于遇到“没有这个文件或目录”问题并进行--sparse克隆的任何人,请查看此问题:https://dev59.com/E8Tra4cB1Zd3GeqP52IE。您的git版本可能太低。 - Starwarswii
1
对于遇到“找不到文件或目录”问题并且正在进行--sparse克隆的任何人,请查看这个问题:https://stackoverflow.com/q/72223738。你的git版本可能太低了。 - undefined
2个回答

4

好的,我似乎已经解决了它。

我不确定为什么以前没有需要现在却需要,但是添加ssh://似乎解决了我的问题:

git clone ssh://git@github.com:MYUSERNAME/REPONAME.git newdirectory

通常需要这个ssh://前缀吗?

感谢@WoLpH让我尝试这些网址!


2

我相信您忘记在Github上进行身份验证了。您是否在具有访问该Github存储库权限的计算机上拥有私钥?

为了确保其余部分正常工作,请尝试使用https检出。如果可以正常工作,则说明您需要担心身份验证。


是的,我已经设置了一个SSH密钥,并将其复制到了GitHub仓库密钥中。 作为同一用户,我先前在不同目录下设置了相同的仓库。我正在尝试做(据我所见)与以前完全相同的事情。 在其他本地Git仓库文件夹中,我可以连接、拉取、获取等操作,没有问题。 - Rob
无论是URL错误、认证错误还是Github出现问题,都可能导致此问题。我认为您只是从Github页面简单地复制粘贴了https/git链接,所以我们可以排除这一点。因此,认证和Github问题仍然存在。 - Wolph

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