爲了親身體驗的整個過程,我這裏將本身的文件先刪除,同時再重啓一遍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的步驟。至此,整個的文件恢復已經完成了,代碼又回來了,高興~~!