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

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

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

Git版本为1.7.5.4

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


当前回答

在我的sourceTree应用程序中,我不能做提交或切换到任何其他提交/分支。时间显示误差

致命:无法创造等等等等。

我只是通过goto .git文件夹(在项目资源管理器目录)解决这个问题。删除索引-----[文件类型:LOCK文件]。现在我得到了sourceTree的所有访问权限。

请确保索引锁文件..假设你没有得到文件类型,改变计算机中的文件视图设置。注意:.git文件夹通常是隐藏类型的文件夹。

其他回答

检查git是否仍在运行(ps -ef | grep git) 如果不存在,请移除该文件 如果是,请先关闭git进程。

try

rm -f ./.git/index.lock

如果没有其他git进程正在运行,那么只需删除索引。各自项目的锁定文件。

我创建了一个空索引。锁定文件,使用Windows命令删除

我有这个完全相同的错误,但问题不是锁文件。相反,问题是我将另一个git repo的内容复制到这个repo中,包括.git不可见文件夹。因此,SourceTree对我想要stage文件的repo感到困惑(在SourceTree认为我在的repo和我嵌入的.git目录中的内容说我应该在的repo之间存在不匹配)。

我最近也遇到了同样的问题。如果你检查整个错误消息,它还说有一些进程正在使用git进程,阻止你删除index.lock。你可以打开IDE,比如Visual Studio或者集成了git的相关软件。关闭它,并尝试重新存储您的文件。希望能有所帮助。