当在其他分支,如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://*.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文件了。同时,也可以正常切换分支等操作了。