问题:

今天,在用windows自带的命令行工具cmd和git bash命令行工具同时对同一个工作区进行了git操作管理,用git的时候出现了这样的问题:

cmd:


git bash:


准备提交的时候出现如下的提示信息:


大概意思是:另一个Git进程似乎在这个存储库中运行,例如。通过“Git提交”打开的编辑器。请确保所有进程终止,然后再试一次。如果仍然失败,则使用Git进程可能更早地在这个存储库中崩溃了:手动删除文件以继续。

解决办法:

根据我们所了解到的,windows对于进程的同步互斥管理,是有资源上锁机制的。猜测这里肯定是有进程对某资源进行了加锁,但是由于进程突然崩溃,未来得及解锁,导致其他进程访问不了。

根据提示,打开文件夹选项,打开显示隐藏文件,进入工作区目录下的隐藏文件.git,其中的index.lock文件删除掉,然后重新打开git bash或者cmd,再重新提交的时候就没有问题了,问题解决。


总结:

Git原则上是支持多进程同步操作资源的,但是如果出现了崩溃,就会出现这样那样的问题,建议同一时间还是只打开一个Git进程进行版本管理比较好。



Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐