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

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

问题的原因是什么?


当前回答

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

cd .git
del index.lock

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

其他回答

如果它是一个子模块,在你的存储库目录上试试这个:

rm -f ../.git/modules/submodule-name/index.lock

将submodules-name更改为子模块名称。

用这个:

rm -Force ./.git/index.lock

我认为有一个比删除文件更好的解决方案(天知道用sudo删除/创建文件时会发生什么):

git gc

运行任务管理器,找到Git for windows进程并杀死它。 删除索引。锁定文件在。git文件夹下 这对我很管用!

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

cd .git
del index.lock

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