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

如何解决向远程仓库temp_branch分支推送时出现的git push报错

问题根因
  • 你执行的git push origin main:temp_branch命令逻辑是将本地main分支的内容推送到远程temp_branch,这是错误的核心来源:你的功能改动、rebase后的最新提交都在本地开发分支,并不在本地main分支上。
  • 你拉取代码后没有更新过本地main分支的内容,本地main的提交历史远落后于远程temp_branch的提交历史,Git检测到推送会覆盖远程已有提交,因此触发保护规则报错。
  • 此时如果使用-f强制推送,会直接清空远程temp_branch上你之前提交的所有开发内容,回退到旧版本的本地main状态,因此不建议这么操作。
正确解决步骤
  1. 切换到你存放开发改动的本地功能分支,确认所有新改动都已提交到该分支。
  2. 同步远程main的最新改动到当前功能分支,避免后续合并冲突:
git pull --rebase origin main

如果执行过程中出现代码冲突,手动编辑冲突文件解决冲突后,执行git add <冲突文件路径>,再执行git rebase --continue即可完成rebase操作。
3. 将当前本地功能分支的内容推送到远程temp_branch:

git push origin HEAD:temp_branch

这里使用HEAD指代当前所在的分支,避免写错分支名,如果你明确知道本地功能分支的名称,也可以直接替换成git push origin 本地功能分支名:temp_branch。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:45:00