这是一个很悲伤的故事,我朋友一个下午写了4个小时的代码,差不多10多个类,都在切换分支的时候。IDEA发现有冲突,然后就要resolve conflict,发现自己不知道怎么操作,就点了abort & rollback。然后所有代码都丢失了。
这个情况下,走git的所有逻辑都恢复不了代码文件了。因为git是根据一个个commit来恢复的。
这里感谢IDEA的保命功能 Local History
血与泪的教训,这真的是很严重的开发事故!!!!
可以参考下面原文:
git 没有commit 直接切换分支代码丢失_git本地分支切换没有提交的话会不会丢失-CSDN博客文章浏览阅读1k次,点赞4次,收藏2次。博客提到通过撤回操作,能够显示出丢失的代码,这可能与代码管理相关。https://blog.csdn.net/m0_52946104/article/details/125979648?fromshare=blogdetail&sharetype=blogdetail&sharerId=125979648&sharerefer=PC&sharesource=m0_74774926&sharefrom=from_link
这个就需要从一个一个的文件去,右键查看Show History,然后一点点的revert,或者一点一点的合并代码。
1.之前改动了这个文件,现在丢失了:直接右键这个文件的Show History
2.之前新增了这个文件,现在丢失了:直接右键这个文件之前放在哪个文件夹,然后Show History
3.之前不存在这个文件,现在又存在了:直接删除就行。
结果:经过半个小时的一点一点的耐心local history,终于找回了所有的东西。