之前有一次提交项目代码,代码在被我提交到暂存区并commit了以后,因为有个eslint语法不规范的地方,所以导致了precommit失败。结果不知道什么原因precommit失败之后,暂存区的代码丢失不见了。
因为是在visual studio的可视化git工具上进行的操作,初步怀疑是vs可视化工具的偶发bug,但目前还没有定论,只能是下次多注意了。

当时找回代码花了很大的功夫,特此记录一下,以防下次再发生相同的事情。

  1. 运行这条git指令可以查看暂存区的存储记录,50q即指50条存储记录
    find .git/objects -type f | xargs ls -lt | sed 50q
-r--r--r-- 1 11535 197121 145717 Apr 18 14:28 .git/objects/pack/pack-310de8abea7cf77e922f476d08af276976e90141.pack
-r--r--r-- 1 11535 197121    199 Apr 18 10:44 .git/objects/27/932d820ca56ea3a18db7bb354ddb31c609ad89
-r--r--r-- 1 11535 197121    297 Apr 18 10:44 .git/objects/61/3f24763136d320aaae6b7d9ee60774ec4c4c0f
-r--r--r-- 1 11535 197121    269 Apr 18 10:44 .git/objects/e1/2920ed0ac5adca0737ff7104baeaf82406b5a6
-r--r--r-- 1 11535 197121    579 Apr 18 10:44 .git/objects/2f/f359876c2ea634a150b09b73923c4b295639c7
-r--r--r-- 1 11535 197121    209 Apr 18 10:44 .git/objects/a3/02002c44f54fbf17fd2809f9701111e3215229
-r--r--r-- 1 11535 197121    253 Apr 18 10:43 .git/objects/7e/52b0fff34b6b499f840bdb4303b305bce12784
-r--r--r-- 1 11535 197121    250 Apr 15 11:11 .git/objects/fd/ec9026761dc4da95b21345ed5460c9c7c457a3
-r--r--r-- 1 11535 197121    316 Apr 15 11:11 .git/objects/84/abccab02dbac03f85a93bf1e4f0e48b80dfad9
-r--r--r-- 1 11535 197121    287 Apr 15 11:11 .git/objects/f3/455f7638d79e3ca872662660826210fe2bcb0e
-r--r--r-- 1 11535 197121    316 Apr 15 11:10 .git/objects/53/18dc39e78c0be65a24a32eae390485cef310ff
-r--r--r-- 1 11535 197121    285 Apr 15 11:10 .git/objects/fb/e5ae0acf311f3725d11721004562d257bcc5e8
-r--r--r-- 1 11535 197121    579 Apr 15 11:10 .git/objects/fe/41719e132db401bf50e4ae5713f798d8d1258e
-r--r--r-- 1 11535 197121    368 Apr 15 11:10 .git/objects/ea/ae0126524ddac125958c8b3eb57dda60cd6bd3
-r--r--r-- 1 11535 197121    183 Apr 15 11:10 .git/objects/af/14c6f36e9e06db7e6c46dc2afaab81fec29be0
-r--r--r-- 1 11535 197121    207 Apr 15 11:10 .git/objects/fd/c7d6a2832b811235f50ceb0f6d4babe784fbad
-r--r--r-- 1 11535 197121     90 Apr 15 11:10 .git/objects/0d/974d58e48579d1048a5603c2d5910d1003935c
-r--r--r-- 1 11535 197121    132 Apr 15 11:10 .git/objects/3f/49614e52458959ef7c1ebbaf25657f4cf88112
-r--r--r-- 1 11535 197121   1326 Apr 15 11:10 .git/objects/dc/fba48bf70bfa6d57a592d3f39ac4de2e8354e4
-r--r--r-- 1 11535 197121     51 Apr 15 11:10 .git/objects/f8/b4888565caadc7510be75682268d6c18edd6de
-r--r--r-- 1 11535 197121  10562 Apr 15 11:10 .git/objects/1c/204c0b1be6d61cc67f3d938d1a10749ecea741
-r--r--r-- 1 11535 197121    112 Apr 15 11:10 .git/objects/10/79139251ab422799a6b3a0ef6732b3f9fd5507
-r--r--r-- 1 11535 197121   4579 Apr 15 11:10 .git/objects/de/d414b0c887ee92be71b2b05f7a830204a53f39
-r--r--r-- 1 11535 197121 809613 Apr 15 11:10 .git/objects/dc/aefa271d2ea2a541218c31b3086c2deceb7342
-r--r--r-- 1 11535 197121    279 Apr 15 11:08 .git/objects/38/d2b76b6ad726884dc103365c40aa132d315921
-r--r--r-- 1 11535 197121   2004 Apr 15 11:08 .git/objects/3e/128012ed2fd31d0df7af9bf118330f0523b204
-r--r--r-- 1 11535 197121   2279 Apr 15 11:08 .git/objects/7d/b0660edb46fbf5b38aa543219469a69c3e5fdb
-r--r--r-- 1 11535 197121   1462 Apr 15 11:08 .git/objects/aa/4d4f41030cd8e5d43c71971aa61e9fa613ed0e
-r--r--r-- 1 11535 197121    925 Apr 15 11:08 .git/objects/b8/1c134f6c79c4429239f327a669852a67487866
-r--r--r-- 1 11535 197121    314 Apr 15 11:08 .git/objects/3f/623a8da5f8703b46c74db93a8ee70753eee0fc
-r--r--r-- 1 11535 197121    579 Apr 15 11:08 .git/objects/9a/4d300afd55c0ae45d8b4682f76c269d3ceb2b7
-r--r--r-- 1 11535 197121     92 Apr 15 11:08 .git/objects/d5/f4aedff066a2a16b8d6bc9e7109fe4d2807bcd
-r--r--r-- 1 11535 197121    148 Apr 15 11:08 .git/objects/1a/dd4c8d1e90d21ab531ac094e35405d5bbd5b44
-r--r--r-- 1 11535 197121    286 Apr 15 11:08 .git/objects/26/89d255a9949341bbe6c4d635cc30d9ee3865b5
-r--r--r-- 1 11535 197121    578 Apr 15 11:08 .git/objects/ac/4abeda20ce5979a8440d308eea82535dff89d2
-r--r--r-- 1 11535 197121    368 Apr 15 11:08 .git/objects/20/66001e4f3c4dc70ccbc6063653c381b83f24e3
-r--r--r-- 1 11535 197121     94 Apr 15 11:08 .git/objects/1f/e54a131b730ae44e56c09956ad589b22e1301c
-r--r--r-- 1 11535 197121    183 Apr 15 11:08 .git/objects/0d/92e47eb29fdcb14c9991bb63247d3aeb04c182
-r--r--r-- 1 11535 197121    209 Apr 15 11:08 .git/objects/be/571e0a6a7393dd3e6fc27b43f65ac7b07304a0
-r--r--r-- 1 11535 197121     91 Apr 15 11:08 .git/objects/10/e0e7c25d96f5d116e32e34f2f8bcfaaa80fe2d
-r--r--r-- 1 11535 197121    132 Apr 15 11:08 .git/objects/bc/ece1ae41b161033ca0dcb51e71dbc099786582
-r--r--r-- 1 11535 197121    149 Apr 15 11:08 .git/objects/fe/e8782115050dc644a719f4dc60daf241f4f819
-r--r--r-- 1 11535 197121    266 Apr  6 17:33 .git/objects/30/201459562e1caf25e9a35689084c1483ff23d4
-r--r--r-- 1 11535 197121    579 Apr  6 17:33 .git/objects/b3/9eda3b1f63eefb5848d72681f5028168618b23
-r--r--r-- 1 11535 197121    367 Apr  6 17:33 .git/objects/2a/5c52678edf4e7f51ea388ada82c9fbc3437f3e
-r--r--r-- 1 11535 197121    183 Apr  6 17:33 .git/objects/e8/450ace66ba682524435e7353645247fa4d80ec
-r--r--r-- 1 11535 197121    208 Apr  6 17:33 .git/objects/58/79863a12a1166fb29a511f5f4079f2d102a0a4
-r--r--r-- 1 11535 197121     91 Apr  6 17:33 .git/objects/eb/f57b0c1cbd495899424a949322ca3560ff47fa
-r--r--r-- 1 11535 197121    132 Apr  6 17:33 .git/objects/44/4a0c77c29ba4ee8f6eadb9ebba975a17b1e79d
-r--r--r-- 1 11535 197121   1054 Apr  6 17:33 .git/objects/06/f6d41cb5f0ce3d6a7393b8ee1840cb1e614cd5

  1. 运行这条指令可以生成当时这条暂存区存储记录下存储的代码文件
    git cat-file -p 3f623a8da5f8703b46c74db93a8ee70753eee0fc > ResultFile

(查询记录要去掉斜杠:3f/623a8da5f8703b46c74db93a8ee70753eee0fc => 3f623a8da5f8703b46c74db93a8ee70753eee0fc,ResultFile是生成文件名)

下方为生成文件的目录,然后就根据目录找回相应代码了

040000 tree 58a44df946a00f21776eb99fa7708d08244c1912	components
040000 tree 0dfdf2c8be872885c26edb631ec90621bfd0401d	items
040000 tree f0c34b2dc62b2a62cef1fe23244a66c9a2e63756	lists
100644 blob 4c3d216c489cf6604ea0c20b66f52227a83889e0	model.js
100644 blob 11207e37882d26b202a053abfc908bb5369b0979	service.js
040000 tree 10e0e7c25d96f5d116e32e34f2f8bcfaaa80fe2d	tasks
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐