【问题标题】:.git/index.lock file continuously re-appears.git/index.lock 文件不断重新出现
【发布时间】:2016-04-14 15:44:53
【问题描述】:

当我尝试运行任何 git 命令时,我得到以下信息

$ git add .
 fatal: Unable to create 'J:/Project/geospatial/U5M_africa/.git/index.lock': File exists.

 If no other git process is currently running, this probably means a
 git process crashed in this repository earlier. Make sure no other git
 process is running and remove the file manually to continue.

我删除文件没有任何错误:

$ rm -f .git/index.lock

我也尝试在 Windows 中手动删除它。该文件会消失,但会立即重新出现。如果我尝试任何 git 命令,我仍然会遇到同样的致命错误。

是什么导致文件立即重新出现?我怎样才能永远摆脱它并继续我的生活?

【问题讨论】:

  • Eclipse 反复导致创建此文件。一旦我关闭 Eclipse,它就停止了。

标签: git


【解决方案1】:

我不那么优雅但有效的解决方案:

先重命名文件,然后将其删除。出于某种原因,这行得通..

【讨论】:

    【解决方案2】:

    检查您的进程(使用process explorerCTRL+F:搜索J:\Project\geospatial\U5M_africa

    你必须有一个进程在你的 repo 中写入,并导致 git 创建该文件。
    它可以是 git gui,也可以是“git index.lock File exists when I try to commit, but cannot delete the file”中注释的任何其他进程

    【讨论】:

    • 我试过了,但没有运气。被重写的文件确实会用旧的时间戳被重写,这很可疑..
    • @royburst 如果文件自动重新出现,您应该有一个导致这种情况发生的过程。
    • @royburst 也许是杀毒软件:尝试排除 J:\
    • @royburst 你在 Windows 上使用的是什么版本的 git?你在用cygwin吗?
    • 我使用的是 2.6.3.windows.1,没有使用 cygwin。
    【解决方案3】:

    正如@VonC 所提到的,有些东西正在“锁定”你的 git 项目并创建这个文件。

    此文件通常在您尝试pull or push 或使用子模块时创建,操作结束后应将其删除。

    正如您所发现的 - 手动删除它也可以,我假设您已经尝试过它并且它被一遍又一遍地创建。


    总结一下:

    如果这个文件没有被 git 进程自动删除,你应该手动删除它,它会起作用。当我遇到这个问题时,我就是这样做的。

    如果当前没有其他 git 进程正在运行,这可能意味着 git 进程早些时候在此存储库中崩溃了。

    确保没有其他 git 进程正在运行并手动删除文件以继续。

    解决方法很简单,删除.git/index.lock文件

    rm .../.git/index.lock
    

    【讨论】:

      【解决方案4】:

      实际上,如果删除锁定文件无法正常工作(每次都出现),那么它们是在您的机器上运行的另一个 git 进程可能是 git GUI 或 git Extension 或其他任何东西。确保你应该关闭所有处理过的 git,除了 git bash。那么 git 命令肯定会工作而不会创建 index.lock 文件问题。

      【讨论】:

      • 请用更好的英语语法修改你的答案。
      【解决方案5】:

      我遇到了同样的问题。手动删除 index.lock 或通过命令 (rm -f .git/index.lock) 没有帮助。当我尝试切换分支时,该文件重新出现。

      我重新启动 (MacOS) 并手动删除,它成功了。

      不确定这是否是一个好的解决方案,但可能会对某人有所帮助。

      【讨论】:

        猜你喜欢
        • 2016-08-09
        • 2012-08-04
        • 1970-01-01
        • 2013-08-22
        • 2012-12-14
        • 1970-01-01
        • 2012-06-24
        • 1970-01-01
        • 2011-12-13
        相关资源
        最近更新 更多