Git 检出到HEAD 再修改提交commit 会消失解决方案

现象一句话:

"把 HEAD 落在历史提交上 → 改完顺手 git commit → 切分支 → 刚才的 commit '消失'"。

根本原因:

你提交时 HEAD 是游离(detached)状态,没有分支指针指向它;切走后 Git 再也找不到那条 commit,于是"好像没了"。


找回与保留的两步法

  1. 先找回"丢失"的 commit

    bash 复制代码
    git reflog          # 找到刚才那一步的 HASH
    # 输出示例
    # HEAD@{1}: commit: fix: xxx

    复制对应的 HASH(如 a1b2c3d)。

  2. 让分支重新指向它(任选一种)

    • A. 直接新建分支

      bash 复制代码
      git branch rescue a1b2c3d      # 把 rescue 指向该 commit
      git switch rescue              # 切过去,历史+修改都在
    • B. 合并到当前分支

      bash 复制代码
      git switch 目标分支            # 先回到你想合并的分支
      git merge a1b2c3d              # 把那次 commit 合进来

以后避免再"丢"commit

  • 不要在游离 HEAD 上长期工作

    想改旧版本 → 先建分支再改:

    bash 复制代码
    git switch -b 新分支名 <历史提交>

    这样 HEAD 立即被分支"拴住",后续 commit 自然留在分支上。

  • 养成用 reflog 的习惯

    任何"被切走""被 reset"的 commit 90 天内都能通过 reflog 找回,真正"删除"只有 git prune + 过期无引用。


一句话记住

"游离 HEAD 的 commit 没有分支指针 = 孤儿"

→ 改历史前先 git switch -b 新分支

→ 万一切丢,git reflog + git branch 新分支 <HASH> 秒找回。

更多阅读

困住我们一直在经济底层的到底是什么?

大前端++

AI 对大前端项目的冲击,【大前端++】来抵御
【混合开发】进阶到【大前端++】
【大前端++】几大特征
【大前端++】前端、大前端、大前端++的区别有哪些?

Android推荐阅读

Cannot fit requested classes in a single dex file (# methods: 93047 > 65536)
【Android】开发者模式启用

开发工具链推荐

API开发工具postman、国内xxapi和SmartApi的性能对比

心法杂谈

【心力建设】《毛选》里的心法

【心力建设】3:如何在组织集体或团队里得到认可

健康杂谈

【论健康】怎么才算健康(健康的本质)
【论健康】健康的不可能三角

相关推荐
小雨下雨的雨1 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
xieliyu.3 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
love530love3 小时前
LiveTalking 数字人项目 Windows 部署完全指南(EPGF 架构)
人工智能·windows·python·架构·livetalking·epgf
遇事不決洛必達4 小时前
【Python基础】GIL 锁是什么及其对爬虫的影响
爬虫·python·线程·进程·gil锁
明夜之约4 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee4 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Jinkxs4 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
辣机小司4 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
CryptoPP4 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
ZC跨境爬虫5 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript