为了亲身体验的整个过程,我这里将自己的文件先删除,同时再重启一遍intellij idea,结果会让人心态凉凉。也许有人会说你直接进去再拉一遍项目,不就行了吗? 抱歉今天我这台机器不知道抽了什么风,你们轻蔑的想法值得提倡和认同,但是在我这里已经试过不下十遍了,其中重新启动intellij idea也有五六遍。

        The selected changes affect directories and no files, so they cannot be shelved

一、出现的问题

  我整体的项目结构如图:

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图

       废话不多说,我这里先删文件(这里千万别跟风操作,不然就有点凉凉了),在intellij idea的左侧项目资源界面,删除一个模块,这个模块的代码结构如下图所示,

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图1

  它既包含了若干的文件和若干的文件夹。删掉后的项目结构如下:

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图2

 

  重新启动intellij idea,让Ctrl+Z键的记忆功能失效。

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图3

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图4

 

  这个时候Ctrl+Z键的撤销删除功能已经不能使用了,我尝试再拉了一遍项目的源码,可是左侧的项目文件内容中,也没有出现我们之前删除的内容。或许只拉一遍没有出现,就多拉几遍吧,好吧,我试试,但愿吧,如下:

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图5

 

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图6

 

第四次之后,我心态崩了的同时,我们试着重新尝试另一种方式,试试看:

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图7

得到的结果是一样的,该怎么办呢? 把整个项目都删掉重新拉取云端的代码,还是默默选择回滚代码,这些方法都不可行,万一我修改了几天几夜的bug,那么岂不是白改了吗?别急,下面是解决方法:

 

二、解决方法

  1、找到误删除的内容,或者是TFS拉取项目文件不完全的部分,或者是TFS 忽略的文件。

    首先,鼠标选中项目的根目录,记住只选中项目的根目录,不用右键。

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图8

 

    依次选择菜单栏中的  “VCS” ->  "Shelve Changes .."  ,在打开的Shelve Changes 面板中仅仅勾选灰色的文件。

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图9

 

  2、双击该灰色的文件,在弹出的窗口中,把 “Include into commit”  勾选,这个很重要

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图10

        (****如果不勾选的话,当你按下Shelve Changes按钮时,会包以下的错误  :

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图11

 

              错误:" The selected changes affect directories and no files, so they cannot be shelved "

          **)

 

      当你勾选之后,到这里,恭喜你,你辛苦了几个星期的代码又恢复了!!!!如果试了一次代码,还是没有完全恢复,建议再试一遍,当然这种情况是非常罕见的。

 

 

   3、恢复不完全现象解决方法。

      我这里在恢复的过程中被我强制打断,出现了文件恢复不完全的现象   :

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图12

 

      同时在Shelve Changes面板中已经没有了待恢复的文件,这下子该怎么办呢?

      重新选择,从云端仓库再导一遍代码回来,在 " Update Project" 面板中,一定要把 “ Recursively process child folders ” ,勾选上,再点击OK即可。

        至于为什么一定要把 “ Recursively process child folders ” 勾选上,在我认为它可以将项目的部分子结构文件进行递归获取回本地。

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图13

 

在弹出的窗口中,选择“Yes”即可。

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图14

 

  如果在这个过程中,还是不小心将它No 了,建议重新再操作一遍1和2的步骤。至此,整个的文件恢复已经完成了,代码又回来了,高兴~~!

intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法插图15

文章转载于:https://www.cnblogs.com/Raodi/p/12197335.html

原著是一个有趣的人,若有侵权,请通知删除

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法
   

还没有人抢沙发呢~