当我试图移动我的项目树到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.

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

问题的原因是什么?


当前回答

我们也可以直接终止git进程。我通过git的GUI应用程序收到相同的问题,出错了,git使一些工作无限。kill进程将冻结使用git的应用程序,只需重新启动它,一切都会好起来。

其他回答

在这种情况下,无论出于什么原因,你正在从一个由云服务(dropbox, drive, onedrive等)同步的文件夹进行重基,你应该暂停或关闭同步,因为它会影响重基期间的权限。

当我在repo的根文件夹对应的目录的子目录中(即.git所在的目录)时,就发生了这种情况。向上移动到根目录解决了这个问题-代价是使所有文件引用更不方便,因为您必须访问path/to/folder/foo。Ext而不是foo。Ext

Try

rm -f ./.git/index.lock

在存储库目录中。错误消息非常明确地说明了导致错误的原因,因此如果没有其他git进程正在运行(这是正常情况),请继续删除该文件。

如果你正在使用#intelliJ ide中的一个并接收到这个msg(我正在使用#webtorm),请注意这个问题可能会发生,因为隐藏了一个项目文件夹(在设置内部),这可以阻止git合并。

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

cd .git
del index.lock

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