Мое окно git-cmd.exe выглядит следующим образом:
git add "NextFolder/*"
error: unable to create temporary file: No such file or directory
error: NextFolder/SomeFile.txt: failed to insert into database
error: unable to index file 'NextFolder/SomeFile.txt'
fatal: adding files failed
Я добавляю большое количество файлов в новый репозиторий git.У меня более 14 000 файлов, распределенных по 80 папкам на корневом уровне.Из-за громкости я решил добавить и зафиксировать одну папку за раз.Кажется, что в каждой папке есть определенное количество файлов, которые приводят к фатальной ошибке в операции «git add» (см. Выше).
Я использую Git для Windows, портативная версия:
git --version
git version 2.22.0.windows.1
Я считаю, что ошибка как-то связана с содержимым файла.Я могу переименовать файл, скопировать содержимое в новый файл, переименовать этот файл, ничего из этого не заставит его работать.Я обнаружил, что если я добавляю CRLF в самом низу файла, проблема «исправлена» для этого файла, но операция git add просто зависает на каком-то другом файле в папке с таким же условием.
Я использовал Notepad ++ для проверки файлов по сравнению с другими файлами, которые, кажется, добавляются без проблем.Окончания строк выглядят одинаково (CRLF), кодировка выглядит одинаково (ANSI) и т. Д.
Один из комментариев в этой теме, кажется, описывает мою точную проблему, но это последний комментарий ответа безupvotes и потоку 5 лет ...
git - невозможно создать временный файл: нет такого файла или каталога - только для определенных файлов?
I'mтакже вполне уверен, что это не проблема с разрешениями.Это первое, что приходит мне в голову, но я полностью скопировал исходный код на свою локальную машину, чтобы добавить все в git.Так что я думаю, что это не должно быть проблемой с разрешениями, поскольку все локально и большинство файлов добавляются.Если это не связано с объемом файлов или с тем фактом, что я использую Git Portable.
Я часами бился об это, отправляю помощь!
РЕДАКТИРОВАТЬ: я должен был указать, чтоGit-репо отделен от рабочего дерева.Рабочее дерево находится на сетевом диске S: \ paht \ to \ tree \, а репозиторий - на другом сетевом диске H: \ git \ test.git.Считается, что это временно, я пытаюсь охарактеризовать частоту изменений, которые мы имеем в (рабочем дереве) сетевого расположения.Как только у меня появится лучшее понимание того, где у нас больше всего оттока, я думаю, что мы сделаем небольшие репо с типичной конфигурацией, имея папку .git в корне рабочего дерева.