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

如何撤销Git中领先origin/master的所有未推送提交并保留文件修改

解答

可以直接执行git reset操作,无需定位那7次提交的具体信息,操作如下:

执行命令

直接运行:

git reset --mixed origin/master

--mixed是git reset的默认参数,也可以省略不写,直接执行git reset origin/master效果完全一致。

效果说明

该命令完全匹配你的需求,执行后会达成以下效果:

  • 本地HEAD指针将回退到和远端origin/master一致的状态,自动抹掉领先的7次本地提交记录
  • 所有7次提交对应的文件修改会全部保留在本地工作区,不会丢失任何改动内容
  • 自动清空暂存区,撤销所有历史git add操作(包含这7次提交中新增文件的add操作,新增文件会变为未跟踪/未暂存状态)

可选安全操作

如果担心操作失误,可以提前给当前状态打临时标签备份:

  • 执行git tag temp_backup给当前提交链打标签
  • 执行reset操作后如果不符合预期,运行git reset temp_backup即可恢复到操作前的状态
  • 确认操作无误后,可运行git tag -d temp_backup删除临时备份标签

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:15:03