[英]fatal: Unable to create 'C:/Users/path/to/my/file/.git/index.lock': File exists How do I remove .git/index.lock from git?
[英]Git - fatal: Unable to create '/path/my_project/.git/index.lock': File exists
当我尝试将我的项目树移动到 git repo 时,我仍然收到此错误消息。
我用这个项目检查了我的目录的权限,这些权限是在 777 上设置的。在my_project
目录中的终端中,我设置了:
git init
然后如果我尝试
git add .
或者
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.
我还尝试创建一个新的 repo 并在那里提交它,但不幸的是仍然出现相同的错误消息。
问题的原因是什么?
尝试
rm -f ./.git/index.lock
在您的存储库目录中。 错误消息对于通常导致它的原因非常明确,因此如果您没有其他 git 进程正在运行(这是正常情况),请继续并删除该文件。
在 Windows 中,在 repo 目录的命令提示符下执行此操作:
cd .git
del index.lock
更新:我发现如果在关闭正在处理的文件后等待片刻,然后再尝试切换分支,则不需要执行此过程。 我认为有时这个问题是由于 git 赶上了一个缓慢的文件系统。 如果他们认为这是正确的,其他更了解 git 的开发人员可以加入。
尝试退出 Xcode - 因为它是一个 git 客户端,你必须退出 Xcode 以避免在命令行中出现 git 问题。
我遇到了同样的问题。 我试过了
rm -f ./.git/index.lock
控制台给了我一条错误消息。 然后,我试过了
rm --force ./.git/index.lock
这奏效了。
祝你好运! 这个超级好用
在我的 .git 目录中,没有 index.lock 文件。 所以,使用 Git Bash shell,我跑了......
cd .git
touch index.lock
rm index.lock
touch 命令创建了文件,问题就消失了。
您是否不小心使用
root
用户创建了存储库?
碰巧我以root
用户身份创建了 git 存储库。
我删除了 git 存储库并在没有sudo
情况下再次创建了它,它可以工作。
我也有这个问题,我发现它确实是一个权限问题。 所以我这样做:
sudo chown -R : .git #change group
sudo chmod -R 775 .git #change permission
那么一切都很棒,而 gaa 就是成功。
然后我使用 gp,我得到另一个错误几乎相同的错误
sudo chown -R "${USER:-$(id -un)}" . #use this can fix the problem
在 Mac OS X 中,在 repo 目录的命令提示符下执行此操作:
cd .git
rm index.lock
在 Windows 中,我只能在任务管理器中为所有 Git Windows(32 位)进程结束任务后才能删除锁定文件。
解决方案(Win 10)
1.在任务管理器中结束所有 Git Windows(32 位)进程的任务
2.删除.git/index.lock文件
我认为有一个比删除文件更好的解决方案(上帝知道使用 sudo 删除/创建文件时接下来会发生什么):
git gc
如果您正在使用#intelliJ
IDE 之一并收到此消息(我正在使用#webtorm
),请注意,由于隐藏了项目文件夹之一(内部设置),可能会出现此问题,这可能会阻止GIT
合并。
就我而言,解决方案是等待 5 分钟。 显然,我之前的操作仍在运行,但我只是不知道。 我在 Windows 上使用乌龟 git。
对我有用的解决方案是关闭 sublime text,因为正在运行的 git 进程是由编辑器启动的。
如果在您尝试之后:
rm -f ./.git/index.lock
你得到:
rm:无法取消链接“index.lock”:权限被拒绝
尝试关闭所有可能使用 Git 的软件。 我打开了 Source Tree 和 Visual Studio,关闭后两个命令都有效。
用这个:
rm -Force ./.git/index.lock
如果它是子模块,请在您的存储库目录中尝试此操作:
rm -f ../.git/modules/submodule-name/index.lock
将 submodules-name 更改为您的子模块名称。
请勿使用Atom platformio-atom-ide-terminal
插件来执行此操作。 直接使用发行版的终端。
我在重新设置/压缩提交时不断收到此错误,但不知道为什么,因为我之前已经做过几次了。
不管我删除index.lock
文件多少次,每次都会失败。
原来是因为我使用了ATOM EDITOR终端插件。 一旦我使用了 Ubuntu 附带的终端,它就像一个魅力。
您对.git/index.lock
有问题,因此请使用以下命令将其删除。
命令:
须藤 rm -rf .git/index.lock
我用很多方法尝试了几次,但这个对我有用(我使用了 PyCharm 的终端):
$ cd .git/
$ rm -f index.lock
然后我再次尝试创建一个空的 git repo :
$ git init
$ git add .
$ git commit -m "commit msg"
此问题的解决方法是复制目录中的三个 xcode/project 文件,然后创建新目录(其他任何地方),然后粘贴这三个文件/目录。
我们也可以杀死 git 进程。 我通过 git 的 GUI 应用程序收到了同样的问题,出了点问题,git 无限地工作。 终止进程将冻结与 git 一起使用的应用程序,只需重新启动它,一切都会好起来的。
万一,无论出于何种原因,您正在从云服务(保管箱、驱动器、onedrive 等)同步的文件夹中执行变基,您应该暂停或关闭同步,因为它会在变基期间干扰权限.
对我来说是
rm -r .git-credentials.lock
所有删除命令对我都不起作用,我所做的是使用 git 中提供的路径导航到那里,然后手动删除它。
只需转到 D:/project/androidgc/.git/ 这个目录并删除 index.lock 这对我有用。
如果有人使用 git svn,我遇到了同样的问题,但无法删除该文件,因为它不存在!。 检查权限后,触摸文件并删除它,我不记得还有什么,这就是窍门:
一点补充,因为我不得不使用不同的答案来获得实际的解决方案(对我来说)。
这为我做到了:
cd .git
rm -f index.lock
有些人可能不得不使用-Force
而不是-f
。 您可以通过在终端中执行如下命令来检查终端的命令行: git help
。
所有的解决方案都是正确的:
Just remove .git from your corrupted repository,
then copy this file if back from another clone (if you don't have it in another machine, just clone it).
最后,是什么让我与众不同:
当我尝试将项目树移至git repo时,我仍然收到此错误消息。
我检查了此项目的目录权限,这些权限设置在777上。在my_project
目录的终端中,我设置了:
git init
然后,如果我尝试
git add .
或者
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 10 + Git Bash
编辑:我在这里看到相同的解决方案: git index.lock File exists when I try to commit, but cannot delete the file
您需要删除 index.lock 文件。
在 Linux 中
cd .git
rm -f index.lock
在 Windows(10) 中,在 repo 目录的命令提示符下执行此操作:
cd .git
del index.lock
尝试以管理员身份运行cmd。 这解决了我的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.