我用的是Mac雪豹,刚刚安装了git。
我只是试了
git clone git@thechaw.com:cakebook.git
但这给了我这个错误:
Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
我错过了什么?
我也试过做ssh-keygen没有密码,但仍然错误。
当您正在访问SSH URL(读/写)而不是Git只读URL,但您没有对该repo的写访问权限时,可能会发生此错误。
有时你只是想克隆你自己的repo,例如部署到服务器上。在这种情况下,实际上只需要READ-ONLY访问。但由于这是你自己的回购,GitHub可能会显示SSH URL,如果这是你的偏好。在这种情况下,如果您的远程主机的公钥不在您的GitHub SSH密钥中,您的访问将被拒绝,这是预期会发生的。
一个等效的情况是,当您尝试克隆其他人的回购时,您没有SSH URL的写访问权。
总之,如果您的意图是只克隆一个repo,请使用HTTPS URL (https://github.com/{user_name}/{project_name}.git)而不是SSH URL (git@github.com:{user_name}/{project_name}.git),这样可以避免(不必要的)公钥验证。
更新:GitHub现在显示HTTPS作为默认协议,这一举动可能会减少SSH url的滥用。
在你的电脑的任何地方新建一个文件夹(比如在桌面上)
移动到新文件夹,打开git bash。
&在bash中编写以下代码:
$ git init
$ git远程添加原点https://github.com/YOUR_GITHUB_HANDLER/YOUR_REPO_NAME.git
$ git拉源主
(无论文件是否被拉出,都要查看新文件夹)
如果文件被删除,则首先删除旧文件夹(发生上述错误的文件夹)中的所有文件/文件夹,包括.git文件夹
&从新文件夹中复制所有文件,包括.git,并将其粘贴到出现上述错误的旧文件夹中。
这将为您获取远程回购。
如果你想获取远程回购而不删除你在本地所做的新更改,那么只需要复制并粘贴我们的新.git文件夹
现在你可以使用$ git push origin master了