Когда я пытаюсь зафиксировать изменения в локальном репо, у меня есть следующее сообщение:
fatal: невозможно записать файл new_index
GIT: "fatal: невозможно записать файл new_index", в то время как commit
Ответ 1
Поскольку этот поток иллюстрирует, обычно это проблема с дисковым пространством:
$ git status
fatal: unable to write new_index file
Одной из причин этого я обнаружил, что в моей файловой системе закончилось свободное пространство.
Поиск больших каталогов с чем-то вроде следующего помог очистить некоторые файлы журналов, которые были запущены:
$ du -h / | grep ^[0-9.]*G
Примечание: вы также можете увидеть его для
- a проблема с ресурсами с помощью msysgit и Egit (Git для Eclipse):
Проблема все еще осталась, поэтому я запустил 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'
Надеюсь, это поможет!