首页 > git checkout -- . 可以反悔吗

git checkout -- . 可以反悔吗

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


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

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


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


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

【热门文章】
【热门文章】