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

时间:2016-04-12 08:14:41

标签: windows git git-rebase sourcetree

尝试使用源代码树以交互方式进行rebase时,我收到此消息。

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

5 个答案:

答案 0 :(得分:4)

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

  

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

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

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

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

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

我希望这能帮助最终处于类似情况的其他人。

答案 1 :(得分:2)

使用rm -rf X:/sources/project/.git/index.lock卸下锁,以免使您头痛。此外,index.lock存在,但是.git文件夹是隐藏的。因此,使用ls -la X:/sources/project/.git查看隐藏文件夹的内容。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

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

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

答案 4 :(得分:0)

我禁用了.git文件夹的索引编制,这有助于我摆脱邮件的困扰