GIT:提交时"致命:无法写入new_index文件"

Ste*_*min 22 git tortoisegit

当我尝试将更改提交到本地repo时,我收到以下消息:
致命:无法编写new_index文件

Von*_*onC 30

如该线程所示,这通常是磁盘空间问题:

$ git status
fatal: unable to write new_index file
Run Code Online (Sandbox Code Playgroud)

我发现的一个原因是我的文件系统空间不足.
使用类似下面的内容查找大型目录有助于清理一些运行狂野的日志文件:

$ du -h / | grep ^[0-9.]*G
Run Code Online (Sandbox Code Playgroud)

注意:你也可以看到它

问题仍然存在,所以我从Sysinternals Suite运行文件监视器.
似乎Eclipse不断访问索引文件并阻止命令行git

是的,看起来像Windows Defender再次罢工.我总是忘记禁用那该死的东西.我无法相信它是多么破碎.破坏家中的蓝光播放,打破Git的工作......

  • Windows Defender部分的+1!http://windows.microsoft.com/en-US/windows-vista/Turn-Windows-Defender-on-or-off做了这个伎俩 (3认同)

Jus*_*yes 14

如果您正在使用TortoiseGit,则此错误(或更近期:错误:无法编写索引.)很可能是由启用TortoiseGit图标叠加引起的.要禁用图标叠加,请转到:

TortoiseGit>设置>图标叠加

并将状态缓存设置为.这可以在TortoiseGit的未来版本中修复,但是现在似乎很常见.


Phl*_*uks 7

当我合并一个安装了sshfs的git repo时,我遇到了同样的错误.任何地方都不乏空间.

在我的例子中,解决方案是在sshfs mount命令中添加-o workaround = rename选项.

像这样:sshfs -o idmap = user -o uid = [lokal uid] -o gid = [lokal gid] -o workaround = rename [host]:[mountpoint]


小智 5

我有同样的问题。就我而言,上述解决方案不起作用。

此错误背后的原因是文件.git/index因某种未知原因而损坏。我只是将该文件重命名为其他名称并运行“git add”。来自 git bash 的命令并且有效。

希望这对某人有帮助。