无法创建'/git/index.lock':文件存在 - 但它没有

问题描述 投票:5回答:4

我在尝试使用源代码树交互式重新绑定时收到此消息。

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上的所有其他解决方案对我来说都不起作用,因为他们都说删除这个文件。

windows git git-rebase sourcetree
4个回答
4
投票

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

致命:无法创建'path / to / file / .git / index.lock':文件存在。

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

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

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

这就是诀窍。这一次的冲突有冲突(自从我之前废除了变种,这很奇怪),但我只是解决了每次冲突,然后让篮板继续下去:git rebase --continue

我希望这可以帮助最终陷入类似情况的其他人。


1
投票

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


0
投票

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

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

然后,我执行的命令(git rebase --continue,在我的情况下)成功了。但我不知道为什么这个程序有效。这不应该有任何区别......


0
投票

我禁用了.git文件夹的索引,这有助于我摆脱消息

© www.soinside.com 2019 - 2024. All rights reserved.