首页 > 解决方案 > 提交后,重置头部然后签出提交,git不会恢复删除的文件

问题描述

提交更改后,我跑git reset --hard HEAD^错了,这导致我丢失了提交更改中的文件。

我正在尝试恢复这些文件。

当我这样做git reflog时,它显示了先前的提交thatCommit,所以我继续:

git checkout thatCommit

但是,不会恢复任何文件。

然后,当我键入git checkout时,它会打印出所有已删除的文件:

D path/to/deletedFile1
D path/to/deletedFile2
M path/to/changedFile1
M path/to/changedFile2

我希望恢复已删除的文件和更改的文件,但path/to/deletedFile1在我的 repo/branch 中看不到。

如何恢复这些文件?

标签: gitgit-checkoutgit-reset

解决方案


尝试

git checkout thatCommit -- .

(强制工作树重新初始化为该提交内容)

或者:

git reset --hard thatCommit

推荐阅读