\302\226git@github.com: Permission denied (publickey).与 error: failed to push some refs to ...

记述

   个人因为需要将一些写过的项目上传到github上面,起先遇到了一些权限问题。将公私秘钥分配好之后:

ssh -T git@github.com

   提示连接成功,但是在push 的时候仍然遇到权限问题

\302\226git@github.com: Permission denied (publickey).
fatal: could not read from remote repostitory.

   找了很多办法,基本都说是公私钥问题,但是可以ssh连接官网,说明根本没有问题,到底问题在哪也没有搞清楚,之后便想到私钥和上传用户的邮箱账号可能与github账号的邮箱不匹配等问题,又重新改变私钥和上传用户的邮箱账号,仍然无用。

   第二天,将所要上传目录中的**.git文件夹删去重新初始化**,可以上传了,说明前一天的修改是正确的的,但是并没有尝试重新初始化仓库设置,一些配置问题仍然是使用密钥前的状态。便可以推测出只要公私钥配对正确,连接可以成功,便可以上传,与邮箱账号无关,邮箱账号和用户名只是记录上传者的信息。

git push -u origin master

   尝试上传之后又一个问题出现了:

error: failed to push some refs to ‘git@github.com:xxx’
…‘e.g. git pull…’

  找到两种方法:

  1. git pull origin master (将远端库的文件更新到本地库中,如果提示refusing to merge unrelated hitories需要加上 --allow-unrelated-hisotries)再进行推送
  2. git branch [name] (创建分支)
    git push -u origin [name]

  最后没有办法的办法,-f 强制推送吧。

附git使用:

git init 初始化工作目录
git status 查看当前状态
git add <file> 将文件加入暂存区
git rm --cached <file> 将暂存区的文件删除
git commit -m “<comment>” 提交暂存区文件到版本库中并备注提交信息
git config --global user.name “name" 设置全局变量中的用户名
git config --global user.email “email” 设置全局变量中的邮箱
git config --list 列表格式显示所有的配置信息
git log 查看日志信息
ssh-keygen -t rsa -C “email@example.com” 生成ssh密钥
git remote add origin <repository’s link> 关联个人仓库
git push -u origin master 将版本库的文件推送到远端仓库中
git clone [url] 拷贝仓库中的内容到本地
git reset --soft <commit> 回退到指定 commit id 并且将回退的代码全部放入到暂存区中
git reset --hard <commit> 回退到指定 commit id 并且清空工作目录及暂存区所有修改
git reset --mixed <commit> 回退到指定 commit id 并且将回退的代码全部放入到工作区中

当你在使用命令ssh -T git@github.com测试公钥是否添加成功时,出现了报错"git@github.com: Permission denied (publickey)",以及在执行命令git push -u origin master时出现了错误提示"gitt@github.com: Permission denied (publickey). fatal: Could not read from remote repository",这通常是因为你本地或服务器上没有生成SSH key所导致的。SSH key是一种用于身份验证的加密密钥对,它包括了公钥和私钥两部分。在使用GitGitHub进行通信时,需要将生成的公钥添加到GitHub账户中,以便进行身份验证。 为了解决这个问题,你需要执行以下步骤: 1. 检查你的电脑上是否已经生成了SSH key。你可以通过运行命令"ls -al ~/.ssh"来查看。如果有一个名为id_rsa.pub或id_dsa.pub的文件,那么说明你已经生成了SSH key。 2. 如果没有生成SSH key,你需要使用以下命令生成一个新的SSH key: ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 这里的"your_email@example.com"应该替换成你在GitHub上注册的电子邮件地址。 3. 在生成SSH key后,你需要将公钥添加到你的GitHub账户中。你可以使用以下命令将公钥复制到剪贴板: pbcopy < ~/.ssh/id_rsa.pub 然后登录到GitHub账户,转到"Settings" -> "SSH and GPG keys" -> "New SSH key",将公钥粘贴到"Key"字段中,然后点击"Add SSH key"按钮保存。 现在,当你再次执行命令ssh -T git@github.comgit push -u origin master时,应该不再出现"Permission denied (publickey)"的错误提示了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Git错误记录 — git@github.com: Permission denied (publickey)](https://blog.csdn.net/baidu_40188909/article/details/108407895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MAC电脑gitt@github.com: Permission denied (publickey). fatal: Could not read from remote repository](https://blog.csdn.net/weixin_44468956/article/details/125293590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值