摘要

  当在dev开发分支开发新功能时,master分支出现紧急bug需要修复,命令git stash就可以暂存当前dev分支的代码改动,切换到master分支解决紧急bug。今天遇到一个git错误信息,是我在切回dev开发分支后把暂存的代码改动复原,但是代码复原后却无法提交,出现了git进程冲突的问题。具体错误信息如下:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
 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崩溃,请手动移除这个文件后再继续操作。

1.问题本质:

  windows对进程的管理有个上锁机制,正常情况下,进程运行 ==> 进程上锁 ==> 进程结束 ==> 进程解锁。可能是我在切换分支时不小心强制关闭了运行中的git,从而导致git崩溃,所以上锁的index.lock没有解锁而产生冲突。

2.解决方案:

  打开项目的文件夹,找到.git文件里的index.lock文件,错误信息中需要手动删除的文件就是这个index.lock文件。删除后再回到git继续操作命令,这样就完美的解决了git进程冲突问题。

总结

   在操作git命令时需要注意git进程的状态,最重要的就是操作git命令需要谨慎,就算是遇到在紧急的任务,也需要心平气和的去解决,心急吃不了热豆腐。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄