为了亲身体验的整个过程,我这里将本身的文件先删除,同时再重启一遍intellij idea,结果会让人心态凉凉。也许有人会说你直接进去再拉一遍项目,不就好了吗? 抱歉今天我这台机器不知道抽了什么风,大家轻蔑的想法值得提倡和认同,可是在我这里已经试过不下十遍了,其中从新启动intellij idea也有五六遍。ide
The selected changes affect directories and no files, so they cannot be shelvedidea
1、出现的问题
我总体的项目结构如图:spa
废话很少说,我这里先删文件(这里千万别跟风操做,否则就有点凉凉了),在intellij idea的左侧项目资源界面,删除一个模块,这个模块的代码结构以下图所示,3d
它既包含了若干的文件和若干的文件夹。删掉后的项目结构以下:blog
从新启动intellij idea,让Ctrl+Z键的记忆功能失效。递归
这个时候Ctrl+Z键的撤销删除功能已经不能使用了,我尝试再拉了一遍项目的源码,但是左侧的项目文件内容中,也没有出现咱们以前删除的内容。或许只拉一遍没有出现,就多拉几遍吧,好吧,我试试,希望吧,以下:资源
第四次以后,我心态崩了的同时,咱们试着从新尝试另外一种方式,试试看:源码
获得的结果是同样的,该怎么办呢? 把整个项目都删掉从新拉取云端的代码,仍是默默选择回滚代码,这些方法都不可行,万一我修改了几天几夜的bug,那么岂不是白改了吗?别急,下面是解决方法:it
2、解决方法
一、找到误删除的内容,或者是TFS拉取项目文件不彻底的部分,或者是TFS 忽略的文件。class
首先,鼠标选中项目的根目录,记住只选中项目的根目录,不用右键。
依次选择菜单栏中的 “VCS” -> "Shelve Changes .." ,在打开的Shelve Changes 面板中仅仅勾选灰色的文件。
二、双击该灰色的文件,在弹出的窗口中,把 “Include into commit” 勾选,这个很重要
(****若是不勾选的话,当你按下Shelve Changes按钮时,会包如下的错误 :
错误:" The selected changes affect directories and no files, so they cannot be shelved "
**)
当你勾选以后,到这里,恭喜你,你辛苦了几个星期的代码又恢复了!!!!若是试了一次代码,仍是没有彻底恢复,建议再试一遍,固然这种状况是很是罕见的。
三、恢复不彻底现象解决方法。
我这里在恢复的过程当中被我强制打断,出现了文件恢复不彻底的现象 :
同时在Shelve Changes面板中已经没有了待恢复的文件,这下子该怎么办呢?
从新选择,从云端仓库再导一遍代码回来,在 " Update Project" 面板中,必定要把 “ Recursively process child folders ” ,勾选上,再点击OK便可。
至于为何必定要把 “ Recursively process child folders ” 勾选上,在我认为它能够将项目的部分子结构文件进行递归获取回本地。
在弹出的窗口中,选择“Yes”便可。
若是在这个过程当中,仍是不当心将它No 了,建议从新再操做一遍1和2的步骤。至此,整个的文件恢复已经完成了,代码又回来了,高兴~~!