當在其他分支,如test分支開發的時候,新增了文件夾等目錄結構。開發完成后,切換會master分支。
如果出現“Deletion of directory '***' failed. Should I try again? (y/n)”,此時,記得選擇n。
不然,如果選擇了y,則git就會強制刪除不屬於master分支的文件以及文件夾。有可能刪除失敗。
此時,再切換到test分支,本屬於該分支下的代碼,就會都被刪除!
如下圖所示:
不過,不用緊張。畢竟提示被刪除的代碼,都是工作區的代碼,還是可以從本地倉庫或遠程倉庫來恢復代碼的。
下面接着說,在test分支下,試着從本地倉庫檢出代碼,結果報錯:fatal: Unable to create 'E:/***/.git/index.lock': File exists 。此時,始終只能在test分支下。
可參考:
http://www.cnblogs.com/silentjesse/p/4079367.html
http://stackoverflow.com/questions/7860751/git-fatal-unable-to-create-path-my-project-git-index-lock-file-exists
所以,可用如下命令,來刪除index.lock文件。
rm -f ./.git/index.lock
刪除之前,可通過如下命令,來查看.git內的文件:
ls -l .git
刪除之后,可通過如上命令,看到.git內就沒有index.lock文件了。同時,也可以正常切換分支等操作了。