git上传工程出现fatal:Unable to create '/xxx/xxx/xxx/.git/index.lock':File exists的原因及解决方法
先说解决办法
到.git目录下,删除index.lock文件,就能正常提交了。
再来说说原因
官方说法如下
在进行某些比较费时的git操作时自动生成index.lock,操作结束后自动删除,相当于一个锁定文件,目的在于防止对一个目录同时进行多个操作。有时强制关闭进行中的git操作,这个文件没有被自动删除,之后你就无法进行其他操作,必须手动删除。
通俗来讲就是
我们在进行git操作时,git会自动生成index.lock文件,操作完后就会自动删除,然后就能进行下一个操作了。然而,如果遇到git非正常关闭(比如电脑死机、断网等等),这个文件就不会被自动删除。等到后面你再去使用git提交的时候。系统就会一直认为有命令在执行,从而不允许你进行其他命令,于是就会报出标题所示错误。
回头想想,我当时确实是因为电脑死机,然后直接重启电脑,此时git仍停留在上一条命令未执行完的状态,报这个错误也就理所当然了。