【问题标题】:Unable to create '/git/index.lock': File exists - but it doesn't无法创建“/git/index.lock”:文件存在 - 但它不存在
【发布时间】:2016-04-12 08:14:41
【问题描述】:

我在尝试使用源代码树以交互方式变基时收到此消息。

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.

致命:无法创建“X:/sources/project/.git/index.lock”:文件 存在。

问题是 X:/sources/project/.git/index.lock 不存在

关于 SO 的所有其他解决方案都对我不起作用,因为他们都说要删除此文件。

【问题讨论】:

  • 如果你没有看到它,可能你看的不是 git 所在的地方。
  • 你到底在哪里看的?是什么让您认为该文件不存在?

标签: windows git git-rebase sourcetree


【解决方案1】:

我在 Mac 上遇到了基本相同的问题。 运行git rebase -i master时,收到错误:

致命:无法创建“路径/到/文件/.git/index.lock”:文件存在。

index.lock 文件在我的 .git/ 目录中不存在。但是有一个 index 文件(没有文件类型扩展名)。所以我中止了rebase。

经过大量搜索,我最终决定只创建文件: touch .git/index.lock

我再次尝试变基,但这并没有解决问题(这次文件确实存在)。所以我删除了它: rm .git/index.lock

成功了。这次变基发生了冲突(这很奇怪,因为我之前中止了变基),但我只是解决了每个冲突,然后让变基继续: git rebase --continue

我希望这可以帮助遇到类似情况的其他人。

【讨论】:

  • 我也遇到了同样的问题,知道怎么解决吗?
【解决方案2】:

使用rm -rf X:/sources/project/.git/index.lock 解除锁定,让您免于头疼。此外,index.lock 存在,但是 .git 文件夹是隐藏的。因此,使用ls -la X:/sources/project/.git 查看隐藏文件夹的内容。

【讨论】:

  • 在某些情况下 index.lock 根本不存在,至少在开始变基之前是这样。它不在隐藏的 .git 文件夹中。我现在自己也在努力解决这个问题。
【解决方案3】:

我在使用 Github Desktop 时遇到了同样的问题。我看着 .git 目录和 index.LOCK 文件会出现和消失。它从来没有持续很长时间,所以没有删除。我进行了一些调查,因为其他在线解决方案对我不起作用,并发现将权限与我能够提交的文件夹进行比较它们有一个区别:给我错误的 .git 文件夹与其他文件夹一样具有完全控制权,但它是从其父级继承。我去了属性->安全->高级并删除,然后重新添加了权限,而不从父级继承它们。之后,我能够毫无错误地提交我的更改。

【讨论】:

    【解决方案4】:

    好的,这真的很奇怪,但对我来说,以下工作:

    • 从 Windows 资源管理器创建文件 .git/index.lock
    • 再次删除文件(来自git bash,不知道这是否重要)

    然后,我正在执行的命令(在我的例子中是git rebase --continue)成功了。不过,我不知道为什么这个程序有效。这不应该有任何区别...

    【讨论】:

      【解决方案5】:

      我禁用了 .git 文件夹的索引,它帮助我摆脱了邮件

      【讨论】:

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