Git 提交两次后文件恢复

Git File Restore After Committing Twice

假设我有一个名为 header.php 的文件,我不小心删除了它。我继续工作,做出几次承诺,然后注意到没有。然后,由于我对如何执行此操作缺乏了解,我从 master 分支手动复制该文件的一个版本并重新创建它。然后我提交此更改,稍后再提交一些其他更改。

我的问题是如何从第一个删除的版本中正确恢复它?我在这里找到了一个答案,它谈到了没有提交的情况以及与该文件相关的最后一次提交。但是,对我来说,这是与此文件相关的倒数第二个提交。

https://www.quora.com/How-can-I-recover-a-file-I-deleted-in-my-local-repo-from-the-remote-repo-in-Git

要找到删除文件的提交,运行:

git log -1 -- header.php

-1 选项告诉 git log 在显示一次提交后停止,并且由于您将历史限制为触及 header.php 的提交,因此它必须是它被删除的提交.

然后,恢复它:

git checkout <commit-id>^ -- header.php

其中 <commit-id> 是您使用第一个命令找到的提交的标识符。注意后面的^,意思是"the parent of".