如何将远端origin/master回退到本地master当前的提交位置
操作步骤
- 第一步:确认本地
master分支处于目标状态
先执行git checkout master切换到本地master分支,再运行git log --oneline -n 3查看最近提交记录,确认当前分支的HEAD就是你要同步到远程的目标提交即可。 - 第二步:执行强制推送命令覆盖远程分支
直接运行以下任意一条命令即可完成操作:
命令的作用就是强制用本地# 写法1 git push origin +master # 写法2,效果和写法1完全一致 git push origin master --forcemaster分支的内容覆盖远程origin/master的提交记录,你已经确认远程的额外提交无使用价值,该操作可以直接满足需求。
之前操作报错的原因
你之前使用的git branch -d是删除本地分支的命令,既不能用来删除提交记录,也不能直接修改远程仓库的分支状态,所以会提示找不到对应分支。
如果后续有删除远程分支的需求,使用git push origin --delete 分支名命令即可,本次场景不需要用到该操作。
注意事项
如果执行强制推送时报权限相关错误,说明远程仓库开启了master分支的保护规则,你需要先到远程仓库的设置页面暂时关闭master分支的强制推送限制,推送完成后再按需恢复即可。
内容的提问来源于stack exchange,提问作者Tryer
相关产品推荐
相关产品推荐

