今天下午,一个同事GIT突然出现问题,几天都没解决,找了很多中文网站提示的方法(说白了,没有一个可行的),行不通,英文的看不懂,-),let me help her!我帮她检查过相关的设置都没什么问题,但是只要执行下面的操作就会报错。简单的列举下报错提示,如下:
提交commit
提交的时候出现:
libgit2 returned: the index is locked; this might be due to a concurrent or crashed process
执行"拉取pull"的话
拉取最新文件出现:
git.exe pull --progress -v --no-rebase "origin" HEAD
From 172.30.3.16:master/webDesign
* branch HEAD -> FETCH_HEAD
Updating f23df5b..e7cc0a4
git 未能顺利结束 (退出码 1) (7769 ms @ 2018/6/26 14:15:58)
这个根本看不出什么问题所在,没报错提示。
创建新文件提交
继续试下创建一个新的文件,尝试提交,结果还是不行,报错:
git.exe update-index [...]
fatal: Unable to create 'E:/webDesign/.git/index.lock': File exists.
Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
后面找了很多方法,都不行,后面在老外的网站上发现了一个方法,提示在运行一个进程的时候,另外一个git进程也在运行,此时就会出现以上的错误,这时候我会去想到清下缓存,这个是行不通的哟,于是找到.git目录下有一个index.lock,原来一切都是这家伙的错。
删除它,上面图是我已经删除后的截图,接下来再执行GIT相关操作,一切正常啦。
希望百度和谷歌粑粑赶紧收录排上去,避免碰到此类问题的童鞋再去纠结了。关于GIT的介绍和设置等其他问题可以查看先前分享的文章:
可以发现GIT的很多内容和问题处理方法哟!
总结和建议
我后面再回头去看了下同事的GIT目录,发现三个项目的目录都在D盘目录下,其中两个是要用VPN才能连接的;其实三个放在同一个盘同一个目录下面,经过测试,很容易出现此类问题的,个人建议可以把VPN和其他的分开放,比如分两个盘存放,这样或许避免出现问题,当然也有其他办法,如您有,可以留言!