当我尝试将更改提交到本地代码库时,出现以下消息:
致命错误:无法写入new_index文件
当我尝试将更改提交到本地代码库时,出现以下消息:
致命错误:无法写入new_index文件
正如这个线程所说明的那样,通常这是磁盘空间问题:
$ git status
fatal: unable to write new_index file
我发现的原因之一是我的文件系统已经用完了空间。
使用以下类似方法查找大型目录可以帮助清理一些失控的日志文件:
$ du -h / | grep ^[0-9.]*G
注意:您还可以看到以下内容:
问题仍然存在,因此我运行了Sysinternals Suite中的File Monitor。
看起来Eclipse不断访问索引文件并阻止命令行git。
没错,看起来Windows Defender又出事了。我总是忘记禁用这个该死的东西。它有多么烂啊。在家里破坏蓝光播放,在工作中破坏Git...
TGitCache.exe
进程,但那解决了问题。 - Peter Bailey当我正在合并一个通过sshfs挂载的git repo时,我遇到了相同的错误。任何地方都没有空间不足的问题。
在我的情况下,解决方法是在sshfs挂载命令中添加"-o workaround=rename"选项。
像这样: sshfs -o idmap=user -o uid=[本地uid] -o gid=[本地gid] -o workaround=rename [主机名]:[挂载点]
我也遇到了同样的问题。但上述解决方案对我都无效。
这个错误的原因是文件.git/index
被某些未知原因破坏了。我将文件重命名为其他名称,并在git bash中运行'git add .'命令,问题得以解决。
希望这能帮助到其他人。
git add .
,而是运行了git reset
,它重新生成了索引文件,而不会将所有更改都添加到暂存区中。我在通过终端与其交互的同时,也将SourceTree打开到了该仓库的SSHFS挂载上;可能是其中某些操作导致了文件损坏。 - sffc对我来说,这是一个文件锁定的问题。
解决方法如下:
希望这可以帮到您!
我在使用Cygwin和git-svn时遇到了这个错误。对我有用的解决方案是进行垃圾回收(尽管当时似乎很奇怪):
$ git gc
git add
和git commit
就可以了。这与TortoiseGit有关,但我不确定具体原因。它似乎在处理大量文件或深层目录时出现了问题。我在macOS上遇到了同样的问题,通过删除repo_folder/.git/index.lock
文件解决了它。
我曾经遇到过这个问题,但是我通过msysgit提交成功了。我更新了tortoisegit,并注意到我的msysgit版本与tortoise git不同步。我不确定最新版本是否修复了它,或者是由于tortoise和msysgit有不同的版本造成的。无论如何,这是需要检查的另一件事情。在将它们都更新到TortoiseGit 1.7.10.0和git version 1.7.10.msysgit.1之后,所有问题都得到了解决。