最近在学习git的使用,发现一个本地库同步远程库的问题,先看报错截图:
事情经过是,我在自己电脑里创建了一个本地库,在gitee上也创建了一个仓库,我想将我的本地库同步到gitee上的远程,但是却出现了上面的报错。下面是一些前置操作。
git remote add origin [email protected]: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博客
标签:origin,git,refs,master,本地,push,报错,远程 From: https://blog.csdn.net/2301_76182577/article/details/140201776