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

如何解决Git提示‘分支比origin/master超前1次提交’的问题?

解决本地fork仓库同步原仓库后超前的问题

嘿,我来帮你理清楚这个问题!你现在遇到的情况是:拉取了原仓库(orig)的更新后,本地master分支比你自己fork的仓库(origin/master)多了1个commit——这个commit大概率是Git自动创建的合并commit,因为你用了默认的git pull(默认是merge模式)。

下面分两种场景给你解决方案:

场景1:本地没有需要保留的自定义修改,只想完全和原仓库同步

这种情况直接“硬重置”就行,一步到位:

  • 先确保你当前在master分支:
    git checkout master
    
  • 把本地master分支直接重置到原仓库master的最新状态(注意:这个操作会丢弃本地所有和原仓库不一致的内容,确认没有要保留的内容再执行!):
    git reset --hard orig/master
    
  • 最后强制推送到你自己的fork仓库,覆盖掉fork上的旧内容(因为现在本地分支和fork的分支历史不一致,普通推送会失败):
    git push origin master --force
    

场景2:本地有自己的修改需要保留,同时同步原仓库的更新

如果不想保留那个多余的合并commit,想用更干净的提交历史同步,试试rebase方式:

  • 如果本地有未提交的修改,先暂存起来(之后可以恢复):
    git stash
    
  • 切换到master分支:
    git checkout master
    
  • 拉取原仓库的更新并将本地提交“重放”到原仓库最新提交的后面,这样不会产生合并commit:
    git pull orig master --rebase
    
  • 如果之前暂存了修改,现在恢复:
    git stash pop
    
  • 最后推送到你自己的fork仓库就可以了:
    git push origin master
    

另外,以后同步原仓库的时候,建议直接用git pull orig master --rebase,这样能保持提交历史更整洁,避免频繁出现这种“超前1个commit”的提示~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:59:58