Git系列——删除文件的找回
Git系列
Git删除文件的找回
该篇主要说明我们在使用Git时删除文件后如何找回
1、环境的搭建
我们主要模拟两种情景的发生,
- 删除操作已经提交到本地库
- 删除操作还未提交到本地库
1.1、删除操作已经提交到本地库
具体流程:
- 删除文件
- 提交到暂存区
- 提交到本地库
1.2、删除操作仅提交到暂存区
具体流程:
- 删除文件
- 提交到暂存区
2、文件找回
2.1、已经提交到本地库
具体流程:
- 根据 git reflog 找到想要回退的未删除文件时的版本
- 根据命令 git reset --hard [索引值] 回退版本
2.2、仅提交到暂存区的文件
具体流程:
由于没有提交到本地库,所以根据reflog命名也就无法得知版本信息。也正是我们没有提交到本地库,本地库最新的一条记录记录着我们还没有删除文件时的记录。所以我们可以直接将暂存区和工作区的内容清空即可。
- 根据命令 git reset --hard HEAD 重定向最新的本地库记录,并清空缓存区内容
总结
本地库是我们找回文件的记录,并且本地库有着只出不进的原则,也就是本地库的内容只能增加不能删除,也就是说我们并不能删除本地库的相关记录,只能不断的提交再提交。我们所有的操作都会记录在本地库当中,这也提醒着我们尽可能的将变化提交到本地库,以便我们后续可以回退等等。