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

执行git reset HEAD~1后为何git status不显示提交、与origin diff结果不一致?

Git分支操作后状态展示异常问题

前置操作流程

  • 执行git checkout -b FRANK...创建自定义分支
  • 编辑代码文件后,通过git commit .完成本地提交
  • 执行git reset HEAD~1尝试撤销上一次提交

异常表现

  • 执行git status查看状态时,输出显示当前处于FRANK_04_14_2020_SET_INPUT_SCOPE_LOOPS分支
  • 仅提示astBase.cpp、astBase.h、constantPropagation.cpp、setInputScope.cpp存在未暂存修改
  • 既未显示本地分支相对远端的未推送提交计数,也看不到NewSdiWriter.cpp的变更记录
  • 执行git diff origin对比远端源时,NewSdiWriter.cpp存在非空差异内容,与git status的展示结果完全不匹配

开发者吐槽:这也是让人想放弃Git的又一个理由。

临时规避方案

因暂时无法定位异常原因,采用以下临时方案处理:

  • 将当前所有变更导出为补丁文件
  • 切回master分支
  • 新建分支并完成切换
  • 重新应用补丁完成变更同步

正常状态参考

日常正常使用时,git status会明确展示本地分支领先远端仓库的未推送提交数量,例如工作区干净时会提示当前分支领先origin/master 1个提交,与当前遇到的异常表现存在明显差异。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 03:54:03