当我做'git commit'时,我得到以下内容:

无法创建“project_path/.git/index”。lock `:文件已存在。

然而,当我执行ls project_path/.git/index。锁定,表示文件不存在。你觉得我该怎么做?我还注意到project_path/。git由root拥有,不确定这是否与我遇到的问题有关。

Git版本为1.7.5.4

编辑:看起来问题很可能是我正在运行的另一个进程,那就是向项目目录写入(我不知道)。我重新启动了我的电脑,然后我就没有问题了。


当前回答

对我有帮助的是:

Git rebase -中止并重新启动rebase。

正如Andrew提到的,当这种情况发生时,我也在使用PHPStorm。不过也没必要关闭。

其他回答

在我的案例中,没有索引。锁定要删除的文件。我试图在用pretty格式化后提交109个文件。提交更少的文件最终“解决”了这个问题。

我也遇到过同样的情况。我甚至没有对本地代码做任何更改。我刚刚编辑了一个文件并恢复了它。我只是在隐藏的。git文件夹中删除了下面的文件。它工作!

project_path / . / index.lock

我没有inex。锁文件删除,但对我有用的是从文件夹属性对话框的属性窗口中删除只读检查。

在任务管理器中:

开发所有流程 关闭所有git进程 删除锁定文件

可能(我遇到过这种情况),ls命令说它不存在,因为当前用户没有访问该目录或文件的权限。

移除锁并确保使用正确的用户执行git,以避免权限问题。

如果你在GNU/Linux系统下使用sudo命令:

执行rm project_path/.git/index.lock