1、不小心使用eclipse中的reset hard(git reset --hard) ,结果未提交的代码丢失(被历史版本强制覆盖了),幸苦写了几天的代码没了,实在不想重写,网上找了大神帖子,终于找到了残留文件,将相关代码复制出来了(幸好丢的不多)
2、现在代码丢失,网上翻了下这两位大神的博文有帮助到:
https://www.pianshen.com/article/151651996/
3、win10中搜索git bash或者myeclipse项目右键-show in local terminal 》 git bash打开内置git控制台。
4、我从window中打开的git bash窗口,cd 项目路径
5、执行 git fsck --lost-found
命令查找未提交而被删除的记录后,可以在.git/lost-found/other这个文件路径中找到被删除的文件的一串数字(在项目路径下,.git是隐藏文件)。
原理:如果你新加的文件有及时使用过git add
命令但是没有使用 git commit
过,这时如果使用了git reset
命令,虽然git会直接还原之前的版本,但是鸡贼的git同时也会对这些特殊的文件进行追踪记录。
7、git show + 数字 可以查看具体代码,通过查看每串数字的内容,确定哪一个是自己需要而且意外删除掉的。
8、在执行git merge +数字 ,就可以恢复了(我执行提示是不可回复的操作,不知道是否有用,我是把丢失相关的文件打开,一个个复制的)