假设我有一个名为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>
是使用第一个命令找到的提交的标识符。注意后面的^
,意思是"的父级"。