我们可能会在新建远程仓库,将本地代码推送到远端时遇到该报错,从报错的字面意思来看,是由于本地仓库的历史要落后于远程仓库,或者说本地仓库与远程仓库的历史不一致。
情况说明:
我想将本地新建的项目推送到远端,于是先在gitee上新建了仓库,并且添加了readme等初始化文件,此时远端仓库已经有了提交记录;然后我将本地项目git初始化并提交后推送到远端,此时就报错。
这种情况是因为远程仓库与本地仓库是分别创建的,相当于两个独立仓库,各自的提交记录不一致,这时合并就会报错。
解决:
1、在推送本地仓库的时候先执行git pull origin master --allow-unrelated-histories
,然后再push
// 该命令可以将两个独立仓库的提交进行合并
git pull origin master --allow-unrelated-histories
// 然后执行
git push origin master
2、这种情况建议在新建远程仓库的时候不要添加任何文件,先将本地仓库推送到远程再去添加文件,后续本地只要pull
一下就行;也可以将远程仓库git clone
下来再去编码,这样就不会有问题。
3、强制推送,执行以下命令强制推送
git push origin master -f
切记!!!这个命令会覆盖远端仓库的内容,慎用!