dev.to | 📄 原文链接 | 2026-09-04 收录

我在错误的窗口跑了 git reset --hard

来源:dev.to — 2026-09-03

📋 概述

作者在错误的仓库窗口、傍晚 6:40 敲下 git reset --hard HEAD~3,三份尚未提交的相邻工作在一秒内从工作区消失。他首先给出最重要的安慰:它很可能还在——reset 只是移动分支指针并重置工作区,被孤立的 commit 对象会留在对象数据库里,直到 GC 清理(多数仓库里「最终」可能意味着数周)。git reflog 记录着 HEAD 最近指向过的每个位置,reset 不过是其中的一条新记录。真正无法挽回的是从未 commit 的改动——reflog 只追踪指针不追踪文件内容,唯一的防线是频繁提交含临时 wip commit。

🔑 核心要点

💡 金句

在压力下依赖记住 reflog 存在,不如养成先演练的习惯——把破坏性操作放到弄不坏任何东西的地方去试。
← 返回 dev.to 首页