提交後從 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}返回一次提交。

相關內容