You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Git仓库推送至GitHub远程失败,提示远程含本地未有的内容

解决Git推送被拒绝(fetch first)的问题

问题原因

你在GitHub创建仓库时大概率勾选了生成README、LICENSE或.gitignore这类默认文件,导致远程main分支已有提交记录;而本地是通过git init新建的空仓库,和远程仓库没有共同的提交历史,所以Git拒绝直接推送(防止意外覆盖远程内容)。另外你之前的推送命令写错了,正确格式应该是git push <远程名称> <分支名>,也就是git push new-remote main,而不是git push new remote。

解决方法

方法一:合并远程内容后推送(推荐,保留远程文件)

这种方式会把远程的默认文件拉到本地合并,之后再推送:

  1. 拉取远程分支并合并(因为本地和远程是独立仓库,必须加--allow-unrelated-histories参数):
git pull new-remote main --allow-unrelated-histories
  1. 如果合并时出现冲突,打开冲突文件手动解决(比如README文件的内容冲突),解决后提交:
git add .
git commit -m "合并远程main分支内容"
  1. 最后正常推送:
git push new-remote main

方法二:强制推送(覆盖远程内容,谨慎使用)

如果你确定不需要GitHub仓库里的默认文件,可以直接强制推送本地内容覆盖远程:

git push new-remote main -f

⚠️ 注意:强制推送会彻底删除远程仓库的现有内容,替换成本地的,只有在你确认远程内容没用时才用这个方法。

内容的提问来源于stack exchange,提问作者Mohamed Abdul mueen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:27:15