\302\[email protected]: 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 并且将回退的代码全部放入到工作区中

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值