本地代码推送至GitHub失败:远程存在本地未同步的提交
解决本地仓库推送到GitHub时的远程未同步提交问题
你遇到的问题是因为GitHub上新建的仓库已经有初始提交(比如自动生成的README、.gitignore文件),而你的本地仓库没有这些内容,导致本地和远程的提交历史不匹配,无法直接推送。下面是两种解决方法:
方法一:用GitHub Desktop操作
- 打开GitHub Desktop,确认当前仓库是你要推送的项目
- 点击界面上的「Pull origin」按钮,先把远程仓库的内容拉取到本地
- 拉取后如果出现冲突,找到冲突文件手动修改合并(比如保留自己的代码,同时保留README的内容)
- 合并完成后重新提交本地更改
- 最后点击「Push origin」就能成功推送
方法二:用Git命令行操作
- 先添加远程仓库地址(还没添加的话):
git remote add origin https://github.com/你的用户名/你的仓库名.git - 拉取远程内容并合并到本地分支(远程分支是master就把main换成master):
git pull origin main --allow-unrelated-histories - 打开冲突文件,手动解决冲突(文件里的
<<<<<<<、=======、>>>>>>>是冲突标记,修改后删除这些标记) - 提交合并后的更改:
git add . git commit -m "合并远程初始提交" - 推送本地内容到远程:
git push origin main
特殊情况处理
如果你的GitHub仓库是完全空白的(没有任何初始文件),也可以强制推送(仅确认远程无重要内容时使用):
git push origin main -f
内容的提问来源于stack exchange,提问作者Momoka
相关产品推荐
相关产品推荐

