从提交中恢复已删除的文件

Restore deleted files from commit

我刚刚完成了以下一系列步骤,但我不知道如何恢复我的文件。

  1. git 添加 file.txt
  2. git commit -m "Message"
  3. rm file.txt
  4. git commit -am "Message"

理想情况下,我应该在第 2 步之后推送我的更改,然后删除,但我忘记了。有没有办法恢复文件?

非常感谢!

您可以使用 checkout 命令从以前的修订版恢复文件:

git checkout HEAD^ file.txt

如果文件在较早的提交中被删除(假设 229da640),您可以通过传递提交的 sha1,然后是 ^:

来恢复它
git checkout 229da640^ file.txt

如果您还没有推送提交,您可能更愿意重置提交:

git reset --hard HEAD^

这会将您的工作树重置为与上次提交时相同的状态。上一次提交后的所有更改都将消失。

如果您不希望所有更改都消失,只需撤消提交本身的行为,您可以不使用 --hard 选项进行重置,并使用以下命令恢复已删除的文件:

git reset HEAD^
git checkout file.txt

最好的方法,试试吧

首先找到删除文件的提交的提交 ID。它将为您提供删除文件的提交摘要。

git log --diff-filter=D --summary

git checkout 84sdhfddbdddf~1

Note- 84sdhfddbddd is your commit id

通过它您可以轻松恢复所有已删除的文件。