git从本地库推送至远程库出现权限否定和显示更新被拒绝问题解决方法

今天想把一些代码文件推送到远程的github仓库出现了下面的问题:

1.permission Denied…在这里插入图片描述

在网上查询了一下,发现这是没有公钥惹的祸,可是我记得配置的时候是设置了公钥添加到了远端仓库的,这里不知道为啥又要设置。按照网上大神的方法,打开git bash 执行公钥和私钥生成命令: ssh-keygen -t rsa然后按三下回车,大神解释的是这里是设置密码,如果设置了,每次使用Git都要用密码,所以这里默认为空,完成之后会有一个id_rsa.pub在.ssh文件中,我直接使用的cat查看内容:cat ~/.ssh/id_rsa.pub,然后将其内容复制到github网站中添加ssh的地方,添加新的ssh:
在这里插入图片描述
可以看到这里确实有两个ssh,然后就可以git push了,但是又出现下面问题:

2.

在这里插入图片描述
这里使用了网上照片,因为我忘记截图了(尴尬)。

翻译出来的意思就是:更新被拒绝,因为远程包含您所做的工作,本地没有。这通常是由另一个存储库推送引起的。指向同一引用。您可能希望首先合并远程更改(例如, “git pull”),然后再按有关详细信息,请参见“git push–help”中的“关于快进的说明”。

也就是本地和远程没有同步的原因,是因为远程分支上存在本地分支中不存在的提交,我也记得我在vs中使用了Git可能是哪里出了差错,具体的还需要去看看,这里就解决这个问题给出步骤:
在网上,我查了可以使用以下3步骤:
1.0 git fetch origin(不一定是origin,看你自己git remote add 时的名称)进行远程更新
2.0 git merge/master进行合并
3.0 进行git push

即可成功,中途可能在git merge时出现不能进行无关联的合并问题,使用:
git pull origin master --allow-unrelated-histories即可

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值