搜索

首页  >  问答  >  正文

git checkout -- . 可以反悔吗

不慎在错误的目录执行了git checkout -- .,导致最近的更改都被恢复成commit时的状态。
是否有命令可以找回丢失的更改呢?

大家讲道理大家讲道理2813 天前649

全部回复(3)我来回复

  • PHP中文网

    PHP中文网2017-04-24 09:12:50

    被添加到 index 的内容可以找回(但是只有文件内容,没有文件名信息,需要人工辨别),没有被添加的部分已经被删除了,你只能求助于另外的办法(备份文件、反删除恢复等)。

    回复
    0
  • 迷茫

    迷茫2017-04-24 09:12:50

    据我说知,如果没有stage那些更改,你就不能恢复了。

    如果stage(add)过,还可能可以恢复(前提是不能运行git gc): 使用 git fsck --lost-found 找到 dangling blob,然后使用 git show <sha_id> 看看这个文件是不是你之前被恢复的。

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-24 09:12:50

    git reset --hard HEAD~1 就可以恢复了

    回复
    0
  • 取消回复