Подтвердить что ты не робот

GIT: "fatal: невозможно записать файл new_index", в то время как commit

Когда я пытаюсь зафиксировать изменения в локальном репо, у меня есть следующее сообщение:
  fatal: невозможно записать файл new_index

4b9b3361

Ответ 1

Поскольку этот поток иллюстрирует, обычно это проблема с дисковым пространством:

$ git status
fatal: unable to write new_index file

Одной из причин этого я обнаружил, что в моей файловой системе закончилось свободное пространство.
Поиск больших каталогов с чем-то вроде следующего помог очистить некоторые файлы журналов, которые были запущены:

$ du -h / | grep ^[0-9.]*G

Примечание: вы также можете увидеть его для

Проблема все еще осталась, поэтому я запустил File Monitor из Sysinternals Suite.
Кажется, что Eclipse постоянно работает с индексным файлом и блокирует командную строку git

Да, похоже, что Windows Defender снова наносит удар. Я всегда забываю отключить эту чертову вещь. Я не могу поверить, что это сломано. Уничтожает воспроизведение Blu-ray дома, разбивает Git на работе...

Ответ 2

Если вы используете TortoiseGit, эта ошибка (или совсем недавно: ошибка: не удалось записать индекс.), скорее всего, вызвана тем, что включено TortoiseGit icon overlays. Чтобы отключить наложения значков, перейдите к:

TortoiseGit > Настройки > Наложения значков

и установите Кэш состояния в Нет. Это может быть исправлено в будущей версии TortoiseGit, но пока это кажется обычным.

Ответ 3

Я получал ту же ошибку, когда я объединил репозиторий git, который был установлен sshfs. Нигде не было недостатка в пространстве.

В моем случае решение заключалось в том, чтобы добавить команду -o workaround = rename в команду mount sshfs.

Так же: sshfs -o idmap = user -o uid = [lokal uid] -o gid = [lokal gid] -o обходной путь = переименование [хост]: [точка монтирования]

Ответ 4

Я нашел решение. Просто нужно освободить место на диске.

Ответ 5

Я следил за каждым решением здесь, и никто из них не работал. У меня нет нехватки дискового пространства, я отключил Защитник Windows, отключил наложения значков и многое другое. У меня было множество файлов для импорта, и, возможно, это вызывало проблему (среди прочего, у меня были библиотеки boost).

Я просто открыл "Git Bash" и выпустил ряд git add и git commit, и все прошло хорошо. Это как-то связано с TortoiseGit, но я не уверен, что. Кажется, он задыхается от большого количества файлов или большой глубины каталога.

Ответ 6

Я получил эту ошибку, используя Cygwin и git -svn. Решение, которое сработало для меня, состояло в том, чтобы делать сборку мусора (как это ни странно было тогда):

$ git gc

Ответ 7

У меня была такая же проблема. В моем случае выше решения не работали.

Причина этой ошибки в том, что файл .git/index был поврежден по неизвестной причине. Я просто переименовал файл в нечто другое и запустил 'git add.' команда из git bash, и она сработала.

Надеюсь, это поможет кому-то.

Ответ 8

У меня была эта проблема, но я смог зафиксировать ее с помощью msysgit. Я обновил tortoisegit, а также заметил, что моя версия msysgit не синхронизирована с черепахой git. Я не уверен, исправлена ​​ли последняя версия, или если это связано с наличием разных версий черепахи и msysgit. Во всяком случае, еще одна вещь, чтобы проверить. Все началось после обновления TortoiseGit 1.7.10.0 git версия 1.7.10.msysgit.1

Ответ 9

Я использовал Unlocker в .git\index.lock, чтобы разблокировать любые дескрипторы, открытые другими процессами. В моем случае это был TGitCache.exe.

Ответ 10

Для меня это была проблема блокировки файлов.

Чтобы решить эту проблему, я:

  • Скопировал индексный файл (расположенный в скрытой папке ".git" )
  • Удалено оригинальное
  • Переименовал копию обратно в 'index'

Надеюсь, это поможет!