【背景介绍】新建了一个仓库,执行add之后,没有commit,后来reset --hard把全部文件全删了,没有办法回退节点找回。后来在网上找到了git show函数成功恢复文件,简单记录一下。
准备工作
在文件夹内建立两个文件 -> 新建git仓库 -> 执行git add -> 执行 git reset --hard
此时两个文件已经删除,但是由于没有commit,gitk看不到提交节点的
执行下面指令,查看过去执行add操作的10个文件,这里10是参数,可以修改
find .git/objects -type f | xargs ls -lt | sed 10q
分别执行
git show 730c8fbc7d554c742428a707ebc61479b2ba37d9 > 1.cpp
git show c17421039458d5b9ae8d5b84a461dd2b17c03b36 > 2.cpp
将对应的文件重新被找回。