从提交中恢复已删除的文件
Restore deleted files from commit
我刚刚完成了以下一系列步骤,但我不知道如何恢复我的文件。
- git 添加 file.txt
- git commit -m "Message"
- rm file.txt
- 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
通过它您可以轻松恢复所有已删除的文件。
我刚刚完成了以下一系列步骤,但我不知道如何恢复我的文件。
- git 添加 file.txt
- git commit -m "Message"
- rm file.txt
- 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
通过它您可以轻松恢复所有已删除的文件。