Git push时的两个错误:1、There isn’t anything to compare.2、error:failed to push some refs to ‘github.com:..‘

直接查看解决方法 请看:3、我认为更简单更好的方法

背景:学习Git和GitHub ,尝试把本地的一个仓库通过Git push 到GitHub上,实现备份和多人协作;(我的GitHub仓库为新建仓库,本地仓库已有要push的内容)

报错1:There isn’t anything to compare.

报错2:error:failed to push some refs to 'github.com:........'

1、报错具体过程:

在本地进行push之后,查看GitHub准备进行merge,提示 There isn’t anything to compare.

分析:查看别的博主的帖子,猜测原因是:本地所提交使用的分支 master 与远程仓库默认分支 main 未对应上。

2、针对上面原因,尝试其他博主给出的解决方法:保持分支一致

        (1)习惯以master为默认分支的话,就将GitHub上的main branch  改名为 master branch(别忘了把刚才提交的master分支先删除),

或者:

改名之后进行push,爆出了第二个错误:error:failed to push some refs to 'github.com:..',如下图:

        先说简单粗暴的解决方法,在上面命令后加 -f 强制执行:git push origin master -f;这样会覆盖整个仓库哈,谨慎操作(之后就不用加 -f 了),我到这就能解决问题了;下面还有其他方法,感兴趣可以继续看。

        (2)与上面方法一样,给本地仓库的master 改为 main  (git branch -M main)(不嫌麻烦创建一个main分支也可以,别忘了切换),执行命令的时候加上 -f 强制执行:git push origin main -f;

 3、我认为更简单更好的方法:

$ git pull --rebase origin main  //一定要带--rebase参数

$ git push origin master

//在 Git 中使用 --rebase 选项意味着当你从远程仓库拉取更新时,
你将使用 rebase(变基)的方式而不是默认的合并(merge)方式来整合这些更新。

//感兴趣的伙伴可以自行查询 --rebase 参数带来的其他影响。

测试过程:

为了测试,我的GitHub仓库里新建了一些文件

在GitHub上merge没有任何问题!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值