\302\[email protected]: Permission denied (publickey).与 error: failed to push some refs to ...

记述

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

ssh -T [email protected]

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

\302\[email protected]: 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 ‘[email protected]: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 将文件加入暂存区
git rm --cached 将暂存区的文件删除
git commit -m “” 提交暂存区文件到版本库中并备注提交信息
git config --global user.name “name" 设置全局变量中的用户名
git config --global user.email “email” 设置全局变量中的邮箱
git config --list 列表格式显示所有的配置信息
git log 查看日志信息
ssh -keygen -t rsa -C “[email protected]” 生成ssh密钥
git remote add origin 关联个人仓库
git push -u origin master 将版本库的文件推送到远端仓库中
git clone [url] 拷贝仓库中的内容到本地

你可能感兴趣的:(Others)