学习git的时候免不了会遇到很多坑,这里记录其中的一个。
当我高高兴兴的创建了一个本地仓库,并且想把它push到github远程仓库上时,我按照网上的教程先输入了:
git remote add origin [email protected]:yourname/xxx.git
其中yourname指的是github账户的名字,xxx为仓库名。连接到远程仓库之后,输入git remote -v可以看到
即表示已经成功的连接到远程仓库了,但是这个时候远程仓库还是空的,现在就要把本地仓库的内容push到远程去,继续输入:
git push -u origin master
按照网上教程,这里会先显示一个warning:
The authenticity of host 'github.com (13.229.188.59)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?
输入yes后会提示
Warning: Permanently added 'github.com,xx.xx.xx.xx' (RSA) to the list of known hosts.
按理说这个时候我们已经把本地的内容提交到远程仓库了,以后每次push应该也不会出先上述的warning了。但是!这个时候,下面紧跟着出现了一条提示:
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我先是百度了一下,看了几篇博客,但是写的都有点让我云里雾里(毕竟只是个git新手...),找着找着我点开了一个StackOverflow的页面,里面的问题描述和我的一模一样。我看了一下,原来是要在github网站中设置自己的ssh公钥。于是我按照StackOverflow上的讲解,设置了一下ssh公钥,再push了一次就成功了!
首先登陆github网站,点击右上角的这个位置
然后点击下拉标签中的Settings选项
点击SSH and GPG keys,点击右侧的New SSH key,在弹出的页面中输入本机的SSH公钥进行添加即可。
本机ssh公钥生成以及查看方法为:
首先在终端输入 ssh-keygen
然后输入 vim ~/.ssh/id_rsa.pub 查看公钥
将vim下的ssh公钥拷贝出来粘贴在下面的Key中并随便输入一个喜欢的Title即可添加。
果然遇到问题还是上外文网站解决起来比较快...