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

Egit反复出现rejected-non-fast-forward报错且远程无变动如何解决?

问题解决步骤

这种远程分支无新提交但推送仍触发rejected-not-fast-forward报错的情况,核心是本地分支和远程的追踪关系异常或是Egit的内置校验逻辑bug,按以下顺序操作即可解决:

1. 修正分支追踪配置

打开Eclipse的Git Repositories视图,找到对应项目,展开「Branches > Local」,右键你当前使用的本地分支,选择「Properties」:

  • 确认branch.<你的分支名>.remote的取值为你实际绑定的远程仓库别名,默认是origin
  • 确认branch.<你的分支名>.merge的取值为refs/heads/<对应远程分支名>
    如果配置不匹配,直接修改为正确值后保存,重启Eclipse后重试推送。

2. 调整Egit全局推送配置

如果追踪配置正常,关闭Egit的自动优化类配置即可:

  1. 打开Eclipse顶部菜单「Preferences > Team > Git > Push」
  2. 取消勾选Auto rebase remote tracking branches on pull
  3. 取消勾选Amend previous commit automatically if no new changes are detected
  4. 保存配置后,先执行一次git fetch origin拉取最新远程元数据,再执行git merge origin/<远程分支名>确认无冲突后重试推送。

3. 重置本地分支基准

如果前两步都无效,执行以下操作重置本地分支的提交基准:

操作前请先备份本地所有未提交的变更,避免丢失

  • 将本地未提交的变更全部暂存或提交到本地分支
  • 执行命令 git reset --soft origin/<远程分支名>
  • 重新提交你的本地变更后推送,后续即可正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:27:04