一个项目很久没动过了,现在因为需求需要改点东西;
操作如下:
1、git pull //提示有修改的东西,不能pull先add、commit后再pull
2、git status //查看修改的文件,显示有一个文件修改一个文件新增
3、git checkout . //想把之前修改的代码都撤消,提示如下
问题描述: 在使用git 进行撤消时, 出现上面这个报错, 导致无法撤消. 报错大致意思就是创建index.lock文件失败,因为已经存在index.lock文件了.
index.lock文件是在.git下面, 而.git是一般是隐藏的, 那么可以通过命令删除即可.
这个index.lock有什么作用呢?
官主解答:
在进行某些比较费时的git操作时自动生成,操作结束后自动删除,相当于一个锁定文件,目的在于防止对一个目录同时进行多个操作。有时强制关闭进行中的git操作,这个文件没有被自动删除,之后你就无法进行其他操作,必须手动删除。
通俗讲,就是我们在commit的时候,会自动生成一个index.lock文件,操作完成后,会自动删除。如果在commit过程中,产生了意外,比如手动退出了,电脑死机了,断网了等等,导致操作失败,没有自动删除index.lock文件,那么下次再commit的时候,系统不知道你的index.lock没删除,它会傻傻的再去创建index.lock文件,这时候,发现已经目录下已经有一个index.lock文件了,懵逼了,不知道咋处理了,所以抛错出来;
所以解决办法就是找到它,并且删除它即可.
4、 删除命令:rm -rf xxx/index.lock(index.lock文件路径)
5、刚开始以为是index.lock文件路径不对,各种尝试都不行,最后放弃了,改用另一种原始的方法
找到.git文件下的index.lock文件,手动删除
6、git pull 成功