问题原因
提交代码前,IDEA更新Git本地代码丢失,IDEA使用Update Project更新Git本地代码丢失,更新代码时执行Update Project
操作。执行完该操作会发现IDEA没有任何提示,默认覆盖了你本地还未提交的代码,本地呕心沥血写的代码瞬间人间蒸发
解决办法
Local History(本地历史更改记录)
当出现这种情况时,最先想到的解决办法就是查看本地历史更改记录,IDEA的本地更改历史会默认帮我们保存5天,这个时间是可以从设置里面更改的。通过本地更改历史找到自己改的代码,然后一个个回退。但是如果改的很多,同样想骂娘,具体操作如下:
鼠标右键项目 -> 选择 Local History -> Show History -> 找到丢失的代码或文件点击 revert 还原。如图1-1和图1-2:
图1-2中,如果不想回退整个类文件,可以选择 Show Difference,查看代码差异精准到每一行的回退。如果想要回退某个时期整个项目,就选中左侧对应的时间,鼠标右键选择 revert 即可。
但是,可能是IDEA的问题,在查看本地提交历史记录的时候可能会卡bug,出现明明找到了我们新增的类文件,但是类文件里面的代码却神奇的全消失了!我就是遇到了这种问题,导致只能重新编写两天累计改的所有代码,想骂娘…
具体情况可以看如图1-3:
从图1-3可以看到,我已经通过Local History找到了我丢失的代码,正当我心情激动的时候,双击打开一看,空的!里面的代码神奇的不见了。有好几个新建的文件都是这种情况,反而那些在已有文件上做更改的文件没有出现这种情况。
所以这种办法虽然可行,但是在某些情况下还是会出现意外的!
Commit -> Shelf (找到更新之前未提交的更改)
通过本地提交记录我们知道是会出现意外情况的,那么当我们通过该方法不可行时,还有第二种方法:Ctrl + K或者手动点击Commit操作,当Commit代码时,会有一个Shelf选项,这里面有我们更新前未提交的代码,具体操作看图2-1,在这里面可以找到你更新代码前所有的更改,并且目前没有重现像本地更改历史代码消失的那种情况!
下一步,我们找到丢失的类或者整个时间段鼠标右键,执行Unshelve(取搁置)即可,如图2-2:
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_52946505/article/details/134908266
标签:更改,代码,IDEA,更新,丢失,本地 From: https://www.cnblogs.com/lucky-jun/p/18041132