Git系列——删除文件的找回

Git系列——删除文件的找回
Git系列

Git删除文件的找回


该篇主要说明我们在使用Git时删除文件后如何找回

1、环境的搭建

我们主要模拟两种情景的发生,

  1. 删除操作已经提交到本地库
  2. 删除操作还未提交到本地库

1.1、删除操作已经提交到本地库

Git系列——删除文件的找回

具体流程:

  1. 删除文件
  2. 提交到暂存区
  3. 提交到本地库

1.2、删除操作仅提交到暂存区

Git系列——删除文件的找回

具体流程:

  1. 删除文件
  2. 提交到暂存区

2、文件找回

2.1、已经提交到本地库

Git系列——删除文件的找回

具体流程:

  1. 根据 git reflog 找到想要回退的未删除文件时的版本
  2. 根据命令 git reset --hard [索引值] 回退版本

2.2、仅提交到暂存区的文件

Git系列——删除文件的找回
具体流程:
  由于没有提交到本地库,所以根据reflog命名也就无法得知版本信息。也正是我们没有提交到本地库,本地库最新的一条记录记录着我们还没有删除文件时的记录。所以我们可以直接将暂存区和工作区的内容清空即可。

  1. 根据命令 git reset --hard HEAD 重定向最新的本地库记录,并清空缓存区内容

总结

  本地库是我们找回文件的记录,并且本地库有着只出不进的原则,也就是本地库的内容只能增加不能删除,也就是说我们并不能删除本地库的相关记录,只能不断的提交再提交。我们所有的操作都会记录在本地库当中,这也提醒着我们尽可能的将变化提交到本地库,以便我们后续可以回退等等。