当我尝试将项目树移动到git repo时,我仍然收到此错误消息。
我用这个项目检查了我的目录的权限,这些是在777上设置的。在my_project
目录的终端中我设置了:
git init
然后如果我尝试
git add。
或
git commit -m“首次上传”
所以我会收到错误
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并在那里提交它,但不幸的是仍然是相同的错误消息。
问题的原因是什么?
答案 0 :(得分:1530)
尝试
rm -f ./.git/index.lock
在您的存储库目录中。错误消息相当明确是什么原因导致它,所以如果没有其他git进程在运行(这是正常情况),请继续并删除该文件。
答案 1 :(得分:146)
在Windows中,在命令提示符中从repo目录执行此操作:
cd .git
del index.lock
更新: 我发现在我尝试切换分支之前关闭我正在处理的文件后等待片刻,我不需要执行此过程。我认为有时这个问题是由于git赶上了一个缓慢的文件系统。其他更多git知识渊博的开发人员如果认为这是正确的话就可以加入。
答案 2 :(得分:30)
尝试退出Xcode - 因为它是一个git客户端,你必须退出Xcode以避免命令行上的git问题。
答案 3 :(得分:19)
我遇到了同样的问题。我试过了
rm -f ./.git/index.lock
并且控制台给了我一条错误消息。然后,我试过
rm --force ./.git/index.lock
并且有效。
祝你好运! 这超级答案 4 :(得分:14)
在我的.git目录中,没有index.lock文件。所以,使用Git Bash shell,我跑了......
QFile
touch命令创建了文件,问题就消失了。
答案 5 :(得分:10)
您是否使用
root
用户意外创建了存储库?
我刚刚创建了git存储库作为root
用户。
我删除了git存储库并在没有sudo
的情况下再次创建它并且它可以工作。
答案 6 :(得分:8)
我也有这个问题,我发现它确实是一个权限问题。所以我这样做:
sudo chown -R : .git #change group
sudo chmod -R 775 .git #change permission
然后,ererything很棒,gaa就是成功。
然后我使用gp,我得到另一个错误几乎相同的错误
sudo chown -R "${USER:-$(id -un)}" . #use this can fix the problem
答案 7 :(得分:6)
在Mac OS X中,在命令提示符中从repo目录执行此操作:
cd .git
rm index.lock
答案 8 :(得分:5)
在Windows中,我只能在任务管理器中的所有Git Windows(32位)进程的结束任务之后删除锁文件。
解决方案(赢10)
<强> 1。任务管理器中所有Git Windows(32位)进程的结束任务
<强> 2。删除 .git / index.lock文件
答案 9 :(得分:5)
如果您正在使用#intelliJ
个IDE之一并收到此消息(我正在使用#webtorm
),请注意,由于隐藏了一个项目文件夹(内部设置),可能会出现此问题,这可以防止GIT
合并。
答案 10 :(得分:5)
如果您尝试后:
rm -f ./.git / index.lock
你得到:
rm:无法取消链接'index.lock':权限被拒绝
尝试关闭可能正在使用Git的所有软件。 我打开了Source Tree和Visual Studio,关闭后两个命令都工作了。
答案 11 :(得分:4)
答案 12 :(得分:4)
对我有用的解决方案是关闭sublime文本,因为运行的git进程是由编辑器启动的。
答案 13 :(得分:4)
使用此:
rm -Force ./.git/index.lock
答案 14 :(得分:4)
在我的情况下,解决方案是等待5分钟。显然我以前的操作仍在运行,但我只是不知道。我在窗户上使用乌龟git。
答案 15 :(得分:3)
您对.git/index.lock
有疑问,请使用以下命令将其删除。
<强>命令:强>
sudo rm -rf .git / index.lock
答案 16 :(得分:3)
我认为有一个比移除文件更好的解决方案(上帝知道在使用sudo删除/创建文件时接下来会发生什么):
git gc
答案 17 :(得分:2)
对我而言
rm -r .git-credentials.lock
答案 18 :(得分:2)
此问题的解决方法是复制目录中的三个xcode / project文件,然后创建新目录(Wheverver else),然后粘贴三个文件/目录。
答案 19 :(得分:2)
如果是子模块,请在存储库目录中尝试:
rm -f ../.git/modules/submodule-name/index.lock
将子模块名称更改为子模块名称。
答案 20 :(得分:2)
请勿使用 Atom platformio-atom-ide-terminal
插件执行此操作。
直接使用您的DISTRO终端。
在重新设定/压缩提交时我一直收到此错误,并且不知道为什么,因为我之前已经多次这样做了。
每次删除index.lock
文件时,无论多少次都会失败。
原来是因为我使用的是 ATOM EDITOR 终端插件。一旦我使用Ubuntu附带的终端,它就像一个魅力。
答案 21 :(得分:2)
所有删除命令对我来说都不起作用我所做的是使用git中提供的路径导航到那里然后手动删除它。
答案 22 :(得分:2)
我们也可以杀死git进程。我通过git的GUI应用程序收到同样的问题,出错了,git使得一些工作无限。杀戮过程将冻结适用于git的应用程序,只需重新启动它,一切都会好的。
答案 23 :(得分:2)
答案 24 :(得分:2)
如果出于某种原因,您正在通过云服务(保管箱,驱动器,onedrive等)同步的文件夹进行转换,您应该暂停或关闭同步因为它会在rebase期间干扰权限。
答案 25 :(得分:1)
如果有人使用git svn,我遇到了同样的问题但无法删除该文件,因为它不在那里!检查权限,触摸文件并删除它,我不记得还有什么,这就是诀窍:
答案 26 :(得分:1)
稍微补充一点,因为我必须使用不同的答案来获得实际的解决方案(对我而言)。
这对我有用:
cd .git
rm -f index.lock
有些可能必须使用-Force
而不是-f
。您可以通过在终端中执行以下命令来检查终端的命令行:git help
。
答案 27 :(得分:1)
我用了很多种方法尝试了几次,但是这个方法对我有效(我使用了PyCharm的终端):
$ cd .git/
$ rm -f index.lock
然后我再次尝试创建一个空的git repo:
$ git init
$ git add .
$ git commit -m "commit msg"
答案 28 :(得分:1)
只需转到D:/project/androidgc/.git/这个目录并删除index.lock这对我有用。
答案 29 :(得分:0)
所有解决方案都是正确的:
[0]
最后,是什么让我与众不同:
答案 30 :(得分:0)
当我在与仓库的根文件夹相对应的目录(即.git所在的目录)的子目录中时,发生了这种情况。移至根目录解决了该问题-代价是使所有文件引用更加不便,因为您必须转到path / to / folder / foo.ext而不是foo.ext
答案 31 :(得分:0)
重新启动机器对我有用。到目前为止,没有提供的解决方案对我有用。
Env Windows 10 + Git Bash
编辑:我在这里看到相同的解决方案:git index.lock File exists when I try to commit, but cannot delete the file
答案 32 :(得分:-1)
尝试以管理员身份运行cmd。这解决了我的问题。