前情提要:
本人同时branch了好几支分支,开发不同的功能,慌乱的某天中,A功能 终于写完了,激动的保存了代码。完美的一天结束了
n天过后(忙完好多事情),自验功能时,惊呆,竟然功能不对。
盲猜,漏保存了两个文件 ??糟糕,不会得重写吧(打死也不想重写!!)
愤怒的狂找了git 的历史记录,十分认真的检查了每次记录,就是没有我提交过得痕迹(沮丧,且不信,哼)
使用了git reflog
git log -g等等
以及一些他们后续的操作,都没有找到要找的文件,更加验证了我没有提交我本地分支的事实(凉凉)
(这些操作的后续操作,感兴趣的话,请自行百度)
意外收获
本人在找回代码的时候,意外的收获了其他操作,在此也记录分享下
-
查看单个文件的提交记录 方式1: 命令:gitk 文件路径 方式2:借助工具:smartgit 选中文件右键 有个“追溯”
git fsck
真正帮我找回代码的是这个命令
git fsck --lost-found
执行完之后,会在你本地的 .git 中生成一个文件夹“lost-found”,
这个存着被你丢失的文件,
里面有两个文件夹 一个commit 是你提交过但是被删除的文件
另一个other 文件夹,是其他各种情况被删除的文件
找到这里之后,一个一个找就找到了