提交后从 git 恢复已删除的文件

提交后从 git 恢复已删除的文件

我将文件提交到本地 git,然后将其推送到 github。

我执行以下命令来删除该文件,然后将其推送到 github:

git rm file.txt
git commit -m remove file.txt
git push -u github master

然后我意识到我想要文件。我尝试了以下说明: https://www.quora.com/How-can-I-recover-a-file-I-deleted-in-my-local-repo-from-the-remote-repo-in-Git

我运行了以下命令:

git rev-list -n 1 HEAD -- file.txt

它为包含我的文件的版本提供了哈希值:HASH。然后我在以下命令中使用它:

git checkout HASH^ file.txt

然后出现了以下错误:

error: pathspec 'file.txt' did not match any file(s) known to git

幸运的是,我能够去 github 并从那里恢复我的所有文件,但我仍然不知道如何在本地执行此操作,或者是否可能。

答案1

用来git reflog获取文件所在点的提交哈希。然后用来git checkout <hash>返回该提交哈希。

或者,您可以使用git checkout HEAD{1}返回一次提交。

相关内容