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

向GitHub仓库推送文件时报non-fast-forward被拒错误怎么办?

Git推送报错(non-fast-forward)解决方案

这个错误触发原因是本地当前分支的提交版本落后于远程对应分支,远程存在本地没有的提交记录,Git为避免覆盖远程内容阻止了直接推送,可按以下两种场景选择解决方式:

场景1:需要保留远程和本地所有提交记录(推荐)

  • 第一步:拉取远程最新变更并和本地分支合并
git pull origin main

若执行后提示文件冲突:

  1. 打开标记为冲突的文件,手动调整冲突内容(<<<<<<< HEAD到=======区间为本地内容,=======到>>>>>>> [commit哈希]区间为远程内容),调整完成后保存文件
  2. 执行命令标记冲突已解决:git add [冲突文件名]
  3. 提交合并结果:git commit -m "合并远程与本地变更"
  • 第二步:重新执行推送命令即可
git push -u origin main

如果拉取时提示fatal: refusing to merge unrelated histories(通常出现在刚初始化远程仓库,远程存在README、LICENSE等本地没有的初始化文件时),将拉取命令修改为以下内容即可:

git pull origin main --allow-unrelated-histories

场景2:确认远程分支内容不需要保留,直接用本地分支覆盖远程

注意:该操作会清空远程上所有本地不存在的提交记录,请确认后再执行

git push -f origin main

内容的提问来源于stack exchange,提问作者Alina

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:45:04