Git推送本地项目至GitHub失败求助:远程仓库存在未同步内容
Git推送失败:remote contains work that you do not have locally 解决方法
错误原因
你在GitHub创建新仓库时,大概率勾选了初始化README、.gitignore或开源协议文件,这些文件会在远程仓库生成初始提交,但你的本地仓库是全新初始化的,没有这些提交记录,Git会拒绝推送——因为两边的提交历史完全不匹配。
解决方案
方案一:强制推送(仅适合远程无重要内容时)
如果远程仓库里的初始文件(比如自动生成的README)对你没用,直接用强制推送覆盖远程内容:
git push -f origin main
注意:强制推送会彻底覆盖远程现有内容,确认远程无重要数据再操作
方案二:拉取合并远程内容(推荐,保留远程文件)
如果想保留远程的初始文件,先拉取远程提交并合并到本地,再推送:
- 拉取远程内容并允许合并无关历史:
git pull origin main --allow-unrelated-histories
- 若合并时出现冲突(比如本地和远程有同名文件),打开冲突文件手动修改冲突部分,保存后执行:
git add . git commit -m "合并远程初始提交"
- 最后推送本地内容到远程:
git push origin main
内容的提问来源于stack exchange,提问作者dev_sam
相关产品推荐
相关产品推荐

