16

我的一个 git 存储库一直存在问题。我不断收到以下错误:

    fatal: Unable to create 'v:/path/to/files/.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根据 stackoverflow 上的另一个线程,但每次我都会收到此错误:rm: cannot unlink `./.git/index.lock': Permission denied

当我关闭 aptana(我在终端中使用 git)时,我仍然无法删除该文件。

任何想法如何解决这个问题?

另一件要注意的是,当我偶尔在其中提交时,这个 git repo 非常慢(它允许我每 10 次尝试左右)

谢谢

4

6 回答 6

29

sudo 命令:

sudo rm -f ./.git/index.lock

这两个错误都表明index.lock由另一个用户拥有。rm以超级用户身份运行,然后再次尝试您的命令。您也可以考虑设置core.sharedRepository是否true实际上是您的 repo 的情况:

core.sharedRepository

当 group(或 true)时,存储库可以在组中的多个用户之间共享(确保所有文件和对象都是组可写的)。

当所有人(或世界或所有人)时,所有用户都可以读取存储库,此外还可以组共享。当 umask(或 false)时,git 将使用 umask(2) 报告的权限。当 0xxx(其中 0xxx 是八进制数)时,存储库中的文件将具有此模式值。0xxx 将覆盖用户的 umask 值(而其他选项只会覆盖用户的 umask 值的请求部分)。示例:0660 将使所有者和组可以读/写 repo,但其他人无法访问(相当于组,除非 umask 是例如 0022)。0640 是组可读但不可组写的存储库。

请参阅 git-init(1)。

默认为假。

于 2012-08-07T03:23:20.957 回答
4

问题最终是 Aptana,每次我运行它时,当我尝试在 git 中提交时都会导致这个错误。

我停止使用 aptana studio,我不再有这个问题了。

于 2012-09-21T04:34:38.717 回答
1

如果您使用 Aptanta Git 和其他 git 客户端(如 fe TortoiseGit),也会出现此错误。因此,这个其他 Git 软件很可能锁定了您的 Git,使其无法用于 Aptana。

于 2014-04-16T12:36:48.737 回答
0

做这个:

rm index.lock

其次是

git 重置

于 2014-05-08T21:13:37.510 回答
0

在 git 版本 2.11.0 中,.git文件夹可能不包含该index.lock文件。我发现.git/refs/heads/文件夹中包含一个.lock文件并使用rm命令将其删除。

还要确保使用ps -aef | grep gitand 终止可能正在使用 git repo 的进程kill -9

于 2017-04-11T10:04:55.587 回答
-1

这可能是一个旧的答复,但我希望这对下一个需要此解决方案的人更有用。

在 linux/unix/gitbash/cygwin 上,尝试

rm -f .git/index.lock

在 Windows 命令提示符下,尝试:

del .git\index.lock

希望有帮助,我在这里找到了这个解决方案:致命:无法创建'project_path/.git/index.lock':文件存在。

于 2016-04-19T09:36:13.497 回答