我用的是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没有密码,但仍然错误。
我正与同样的问题作斗争,这就是我所做的,我能够克隆回购。我在Mac上遵循了这个步骤。
第一步:检查我们是否已经拥有公共SSH密钥。
打开终端。
输入ls -al ~/。查看是否存在现有的ssh密钥:
检查目录列表,查看是否已经拥有公共SSH密钥。默认public是以下d_dsa之一。酒吧,id_ecdsa。酒吧,id_ed25519。酒吧,id_rsa . pub。
如果你没有找到,那么转到步骤2,否则继续步骤3
步骤2:生成SSH公钥
Open Terminal.
Enter the following command with a valid email address that you use for github ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
You will see the following in your terminal Generating public/private rsa key pair. When it prompts to"Enter a file in which to save the key," press Enter. This accepts the default file location. When it prompts to Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] Just press enter again.
At the prompt, "Type a secure passphrase. Enter passphrase (empty for no passphrase): [Type a passphrase]" press enter if you don't want to Enter same passphrase again: [Type passphrase again] press enter again
这将生成id_rsa.pub
步骤3:添加SSH密钥到SSH -agent
Interminal type eval "$(ssh-agent -s)"
Add your SSH key to the ssh-agent. If you are using an existing SSH key rather than generating a new SSH key, you'll need to replace id_rsa in the command with the name of your existing private key file. Enter this command $ ssh-add -K ~/.ssh/id_rsa
Now copy the SSH key and also add it to you github account
In terminal enter this command with your ssh file name pbcopy < ~/.ssh/id_rsa.pub This will copy the file to your clipboard
Now open you github account Go to Settings > SSH and GPG keys > New SSH key Enter title and paste the key from clipboard and save it. Voila you're done.
在你的电脑的任何地方新建一个文件夹(比如在桌面上)
移动到新文件夹,打开git bash。
&在bash中编写以下代码:
$ git init
$ git远程添加原点https://github.com/YOUR_GITHUB_HANDLER/YOUR_REPO_NAME.git
$ git拉源主
(无论文件是否被拉出,都要查看新文件夹)
如果文件被删除,则首先删除旧文件夹(发生上述错误的文件夹)中的所有文件/文件夹,包括.git文件夹
&从新文件夹中复制所有文件,包括.git,并将其粘贴到出现上述错误的旧文件夹中。
这将为您获取远程回购。
如果你想获取远程回购而不删除你在本地所做的新更改,那么只需要复制并粘贴我们的新.git文件夹
现在你可以使用$ git push origin master了
我遇到了同样的问题,因为我认为SSH和HTTPS之间的区别是
https://github.com/USERNAME/REPOSITORY.git
ssh: / / github.com/USERNAME/REPOSITORY.git
因此,我从HTTPS更改为SSH,只需将https://更改为SSH:// url的末尾没有任何变化。
但事实是:
https://github.com/USERNAME/REPOSITORY.git
git@github.com:USERNAME/REPOSITORY.git
这意味着我将ssh://github.com/USERNAME/REPOSITORY.git更改为git@github.com:USERNAME/REPOSITORY.git。
愚蠢的错误,但希望能帮助某人!