当我做'git commit'时,我得到以下内容:
fatal: Unable to create 'project_path/.git/index.lock': File exists.
但是,当我这样做时ls project_path/.git/index.lock
,说该文件不存在.我应该怎么做?我也注意到project_path/.git由root拥有,不确定这是否与我遇到的问题有关.
git版本是1.7.5.4
编辑:似乎问题很可能是我运行的另一个进程,即向项目目录编写(我不知道).我重新启动了我的机器然后我没有任何问题.
Rya*_*n S 290
这可能是一个旧的回复,但我希望这对下一个需要此解决方案的人更有用.
在linux/unix/gitbash/cygwin上,试试吧
rm -f .git/index.lock
在Windows命令提示符下,尝试:
del .git\index.lock
希望有所帮助,我在这里找到了这个解决方案:致命:无法创建'... git/index.lock'文件存在
And*_*ure 35
对于Windows:
Run Code Online (Sandbox Code Playgroud)> rm -Force ./.git/index.lock
Run Code Online (Sandbox Code Playgroud)> taskkill /F /IM git.exe SUCCESS: The process "git.exe" with PID 20448 has been terminated. SUCCESS: The process "git.exe" with PID 11312 has been terminated. SUCCESS: The process "git.exe" with PID 23868 has been terminated. SUCCESS: The process "git.exe" with PID 27496 has been terminated. SUCCESS: The process "git.exe" with PID 33480 has been terminated. SUCCESS: The process "git.exe" with PID 28036 has been terminated. > rm -Force ./.git/index.lock
小智 20
在运行Visual Studio 2015 RC(v4.6.00057)和SourceTree(v1.6.14.0)的Windows平台上也会出现此错误.
解决方案:假设您要使用源代码树作为源代码管理器,只需在Visual Studio中禁用源代码控制提供程序,如下所示:
尝试
rm -f ./.git/index.lock
Run Code Online (Sandbox Code Playgroud)
如果你没有运行其他git进程,那么只需删除相应项目的index.lock文件.
小智 7
当您取消从中间的原点取消时会发生这种情况.
所以你可以做的是从你的.git目录中手动删除index.lock文件.
rm -f ./.git/index.lock
Run Code Online (Sandbox Code Playgroud)
cd进入项目目录并运行此命令.
可能(它发生在我身上),ls命令说它不存在,因为当前用户没有权限到达该目录或文件.
删除锁定并确保您正在与正确的用户执行git以避免权限问题.
如果你在带有sudo命令的GNU/Linux盒子里:
sudo rm project_path/.git/index.lock
(如果创建了文件,只需从cd到该位置,那么问题就出在您的编辑器上。关闭您的编辑器。不要再次使用此编辑器来执行此任务。您可以使用git命令继续)
除非您实际上想让 root 拥有您的存储库,否则这听起来就像您不小心以 root 身份运行了 Git 命令(甚至可能是初始克隆/初始化)。如果您打算这样做,那么您将不得不以 root 身份运行存储库中的所有 Git 命令。如果你没有,那就跑去sudo chown your-user[:your-group] -R .git
取得它的所有权,然后看看事情是否有效。
归档时间: |
|
查看次数: |
263224 次 |
最近记录: |