当我试图移动我的项目树到git repo时,我仍然得到这个错误消息。

我检查了我的目录与这个项目的权限,这些设置为777。在终端的my_project目录下设置:

git init

然后如果我尝试

转到添加 。

or

Git commit -m "first upload"

我就会得到错误

fatal: Unable to create '/path/my_proj/.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.

我也尝试创建一个新的回购,并在那里提交它,但不幸的是,仍然是相同的错误消息。

问题的原因是什么?


当前回答

不要使用Atom platform - Atom -ide-terminal Plugin来做这件事。 直接使用您的发行版的终端。

我在重基/压缩提交时一直得到这个错误,不知道为什么,因为我之前已经做过几次了。

不管我删除索引多少次。锁定文件,每次都会失败。

事实证明,这是因为我正在使用ATOM EDITOR终端插件。当我使用Ubuntu自带的终端时,它就像一个魅力。

其他回答

我已经更改了我的目录权限,所以我知道它可能与权限相关。在我的情况下,我删除了不需要的(_www)用户,然后通过应用更改所有内容应用读/写权限给每个人。这是Mac上的

重启机器对我有用。到目前为止,提供的解决方案没有一个对我有效。

环境 视窗 10 + Git Bash

编辑:我看到同样的解决方案是在这里:git索引。提交时文件存在,但无法删除

在Windows中,在repo目录下的命令提示符中执行此操作:

cd .git
del index.lock

更新: 我发现,如果我在关闭我正在处理的文件后等待片刻,我就不需要执行这个过程,然后再尝试切换分支。我认为有时出现这个问题是因为git赶上了一个缓慢的文件系统。其他更了解git的开发人员如果认为这是正确的,也可以加入进来。

如果你尝试之后:

Rm -f ./.git/index.lock

你会得到:

Rm:不能断开索引。lock':拒绝允许

尝试关闭所有可能使用Git的软件。 我打开了源代码树和Visual Studio,关闭后命令都工作了。

如果有人正在使用git svn,我有同样的问题,但不能删除文件,因为它不存在!在检查权限,触摸文件并删除它之后,我不记得还有其他什么,这是有效的:

签出主分支。 Git SVN rebase (master) 签出您正在处理的分支 Git SVN rebase