git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!

不得不吐个槽,网上关于git的资料实在是太乱了,为了解决一个问题,结果掉到了又一个坑里!哎,赶紧自己把坑填起来,以免下次又掉进去!!
问题起源——以前在github上面创建了一个仓库,后来项目写的差不多了,想要提交到这个远程仓库上面!
然后执行下面步骤:

1.在项目根目录下打开git bash: git init
2.创建忽略上传文件清单(主要是忽略node modules): touch .gitignore
编辑器打开生成的 .gitignore 文件,加入:
node_modules
/以及其他你想要忽略的文件或文件夹/
3.把文件添加到仓库:git add .
4.把文件提交到仓库:git commit -m ‘版本001’
5.关联到远程仓库:git remote add origin 你的git仓库ssh地址。
6.把本地库的所有内容推送到远程库上:git push -u origin master

按照以上步骤执行之后,你就会发现报错了!!!
error: failed to push some refs to ‘[email protected]:Silent-Jude/saving_onekey.git’
git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!

错误产生原因,大概是因为你在最初创建远程仓库时,添加了readme文件,可以参考该文章:
https://blog.csdn.net/uotail/article/details/80211897
因为官方是推荐创建readme的,结果很多人都被这个给坑了!!
为了不踩坑,建议不要创建 readme,保持远程仓库空空的状态。

可是。。。像我这样已经创建了,又不想重新换仓库的人该怎么办呢?
还是有办法的 !
先运行git pull origin master,尝试将远程库中的文件下载,然后再git push -u origin master.

git pull origin master

git push -u origin master.

为什么说是尝试呢?因为我按照这样操作根本行不通嘛,我不知道其他人有没有成功,反正我是没有成功!因为会报一个隐秘的错误!为什么说是隐秘呢?因为它这个报错不是红字提示,英语渣以为是正常结果。。。。然后百思不得骑姐(…)。
查下单词就知道,fatal是致命的意思,这句话的意思是 “致命的错误:拒绝 合并一个不相干的记录”。
翻译成人话就是:“我不认识你,不要与你合体!”…mmp
这是因为远程仓库已经存在代码记录了,并且那部分代码没有和本地仓库进行关联。
你会问远程仓库我没有写代码呀…是不是哪里搞错了?很遗憾,readme文件也算代码!!!
git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!


那应该怎么办呢? 这里出现了2个分支,一个方法比较简单,虽然我不认识你,但是我还是要强制与你合体!(......)

1.强推…不,强制合体!
使用 --allow-unrelated-histories 允许pull未关联的远程仓库旧代码:

git pull origin master --allow-unrelated-histories

git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!
Auto-merging README.md ,意思是自动合并 README.md文件。

网上有些教程到这里就结束了,说再执行git push -u origin master.但是我尝试了之后,依然报错!
还是熟悉的味道,还是熟悉的报错!
git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!

然后我再次 git pull origin master

git pull origin master

发现报错结果居然不一样了!
致命:由于未解决的冲突而退出
git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!

打开vscode,打开readme.md ,会发现文件保存了2份readme中的内容!鼠标移到最顶端,选择保留当前的内容还是传入的内容!这里我已经选好了,所以无法再演示了。大家看着选好了。保存完了之后!
重新执行添加,提交操作。

1.把文件添加到仓库:git add .
2.把文件提交到仓库:git commit -m ‘版本001’
3. git pull origin master
4.git push -u origin master

git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!
git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!

git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!
发现已经不报错了!

git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!

最后 git push -u origin master,终于同步到远程仓库了!填坑完毕。

还有种方法是百度经验中使用的方法 :git pull --rebase origin master,但是这样之后就无法commit了,不知道为什么 。最后只能使用 git rebase --abort终止才行。希望有大佬知道指导下
git提交到远程仓库github上时,出现 “failed to push some refs to”解决方案!!