git报错error: failed to push some refs to xxx

最近在学习git的使用,发现一个本地库同步远程库的问题,先看报错截图:

事情经过是,我在自己电脑里创建了一个本地库,在gitee上也创建了一个仓库,我想将我的本地库同步到gitee上的远程,但是却出现了上面的报错。下面是一些前置操作。

git remote add origin git@gitee.com:id7729/git_test.git    //将本地库连接到远程
git push -u origin master                                  //将本地库同步到远程

产生原因,我在gitee上建立仓库时,里面选择了一些初始化项,里面有一些readme文件,导致本地库与远程库内容不一致,而发生了冲突。

解决方法,将远程库中的内容同步到本地,消除两者的差异。

具体操作

方法一:同步,将远程库的文件同步到本地,同步完成后再推送即可

git pull origin master --allow-unrelated-histories
git push -u origin master

同步的方式二

git pull --rebase origin master
git push -u origin master

网上还有同步的方法三:先把git的东西fetch到你本地然后merge后再push,但我测试过,发现并没什么用,再这也简单列下吧

git fetch
git merge
git push -u origin master

我简单的分析了下原因,猜测方法三之所以失败的原因是远程库的头指针和本地库的头指针不一致而导致的冲突,导致分支无法合并,从而导致远程库中的数据没法同步到本地库。原理如下:

方法四:利用强覆盖方式用你本地的代码替代git仓库内的内容(不推荐)

git push -f origin master

以上就是解决本地库同步远程库出现问题时的解决方法啦。

我们除了解决这个问题,也可以尽量的避免这个问题。

避免问题的方法:先再gitee中创建自己的仓库,然后将仓库克隆到本地。再将代码放入到本地库的文件目录下,然后就可以直接push啦 

参考博客:

git push后出现错误 ![rejected] master -> master(non-fast-forward) - 清和时光 - 博客园 (cnblogs.com)

git中出现“non-fast-forward”errors时的终极解决方案_git non-fast-forward-CSDN博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值