Git - fatal: Unable to create '/path/my_project/.git/index.lock': File exists
当我尝试将项目树移到git repo时,仍然收到这个错误消息。
我检查了我的目录对这个项目的权限,这些权限设置在777上。在
git init
如果我尝试的话
git add .
或
git commit -m"first upload"
所以我会得到错误
1 2 3 4 5 | 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. |
我还尝试创建一个新的repo并在那里提交它,但不幸的是仍然有相同的错误消息…我已经有点绝望了,整个下午我都在试图找到解决办法,但还是没有成功…
有人能帮我吗,请问问题的原因是什么?
无数次谢谢!
尝试
1 | rm -f ./.git/index.lock |
在存储库目录中。错误消息对于其通常的原因非常明确,因此如果没有其他Git进程运行(这是正常情况),请继续并删除该文件。
在Windows中,在repo目录的命令提示符中执行此操作:
1 2 | cd .git del index.lock |
更新:我发现,如果我在关闭正在处理的文件后稍等片刻,然后再尝试切换分支,就不需要执行此过程。我认为有时这个问题是因为Git赶上了一个缓慢的文件系统。另外,如果他们认为这是正确的,更多的Git知识渊博的开发人员可以插话。
尝试退出xcode——因为它是一个git客户机,所以您必须退出xcode,以避免在命令行上出现git问题。
我也有同样的问题。我试过
1 | rm -f ./.git/index.lock |
控制台给了我一个错误信息。然后,我尝试
1 | rm -Force ./.git/index.lock |
这很管用。
祝你好运!这个很管用
在my.git目录中,没有index.lock文件。所以,使用git bash shell,我运行…
1 2 | cd .git touch index.lock |
触摸命令创建了文件,问题就消失了。
碰巧我用
我也有这个问题,我发现这真的是一个许可问题。所以我这样做:
1 2 | sudo chown -R : .git #change group sudo chmod -R 775 .git #change permission |
那么,电子产品是伟大的,GAA是成功的。
然后我使用gp,得到另一个几乎相同的错误
1 | sudo chown -R"${USER:-$(id -un)}" . #use this can fix the problem |
在Mac OS X中,在repo目录的命令提示符中执行此操作:
1 2 | cd .git rm index.lock |
如果您正在使用一个
在Windows中,我只能在结束任务管理器中所有Git Windows(32位)进程的任务后删除锁定文件。
解决方案(Win 10)
1。结束任务管理器中所有Git Windows(32位)进程的任务
2。删除.git/index.lock文件
如果尝试后:
rm -f ./.git/index.lock
你得到:
rm: cannot unlink 'index.lock': Permission denied
尝试关闭所有可能使用Git的软件。我打开了源代码树和Visual Studio,关闭后两个命令都有效。
对我有效的解决方案是关闭崇高的文本,因为运行的git进程是由编辑器启动的。
在我的例子中,解决方法是等待5分钟。显然我以前的手术还在进行,但我不知道。我在窗户上用乌龟球。
使用此:
1 | rm -Force ./.git/index.lock |
我认为有一个比删除文件更好的解决方案(天知道在用sudo删除/创建文件时接下来会发生什么):
1 | git gc |
您对
命令:
sudo rm -rf .git/index.lock
如果它是子模块,请在存储库目录中尝试此操作:
1 | rm -f ../.git/modules/submodule-name/index.lock |
将子模块名称更改为子模块名称。
我更改了我的目录权限,所以我知道它可能与权限有关。在我的例子中,我删除了不需要的(www)用户,然后通过对所有内容应用更改来向每个人应用读/写权限。这是MAC
所有的remove命令对我来说都不起作用,我所做的就是使用git中提供的路径导航到那里,然后手动删除它。
不要使用Atom
我在重新平衡/挤压提交时一直得到这个错误,不知道为什么,因为我以前做过几次。
不管我要删除多少次
原来是因为我在使用Atom编辑器终端插件。有一次我使用了Ubuntu附带的终端,它就像一个魅力。
如果出于任何原因,您正在云服务(Dropbox、Drive、OneDrive等)同步的文件夹中执行一个重新平衡,则应暂停或关闭同步,因为它会干扰重新平衡期间的权限。
我们也可以终止git进程。我通过Git的GUI应用程序收到了同样的问题,出了点问题,Git可以无限地工作。杀戮过程将冻结与Git一起工作的应用程序,只需重新启动它,一切都会正常。
解决这个问题的方法是复制目录中的三个Xcode/project文件,然后创建新目录(无论在哪里),然后粘贴三个文件/目录。
对我来说
1 | rm -r .git-credentials.lock |
如果有人在使用git svn,我有同样的问题,但无法删除文件,因为它不在那里!。在检查权限、触摸文件并将其删除之后,我不记得还有什么,但这确实起了作用:
- 签出主分支。
- Git Svn Rebase(主服务器上)
- 签出您正在处理的分支
- 谷胱甘肽转移酶
有点补充,因为我必须使用不同的答案来获得实际的解决方案(对我来说)。
这是为我做的:
有些人可能不得不使用
我用很多方法试了几次,但这个方法对我很有效(我使用了Pycharm的终端):
1 2 3 | $ cd .git/ $ rm -f index.lock |
然后我再次尝试创建一个空的git repo:
1 2 3 4 5 | $ git init $ git add . $ git commit -m"commit msg" |
只需转到d:/project/androidgc/.git/this目录并删除index.lock,这对我很有用。