1、不小心使用eclipse中的reset hard(git reset --hard) ,结果未提交的代码丢失(被历史版本强制覆盖了),幸苦写了几天的代码没了,实在不想重写,网上找了大神帖子,终于找到了残留文件,将相关代码复制出来了(幸好丢的不多)

2、现在代码丢失,网上翻了下这两位大神的博文有帮助到:

https://www.pianshen.com/article/151651996/

https://blog.csdn.net/qq_31608451/article/details/78342365?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

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 +数字 ,就可以恢复了(我执行提示是不可回复的操作,不知道是否有用,我是把丢失相关的文件打开,一个个复制的)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐