фатально: невозможно создать каталог в /root/wp-content/cache/page_enhanced/ Нет такого файла или каталога

После некоторых изменений с сервера.

Я больше не могу push ничего, даже если попробую это:

  • git push or
  • git pull or
  • git merge or
  • git rebase origin/master or
  • git reset --hard

Всегда говорит...

fatal: cannot create directory at /root/wp-content/cache/page_enhanced/.... 
No such a file or directory` 

Даже когда я создаю новый чистый репозиторий и clone, он все равно получает ту же ошибку.

Как я могу решить эту проблему?
В любом случае это какой-то каталог кеша, и он мне действительно не нужен, как его удалить или игнорировать?


person Arma Sarma    schedule 04.10.2013    source источник


Ответы (5)


Может быть несколько вещей в зависимости от ОС машины, на которой вы работаете, и версии git. С более подробной информацией я мог бы быть более конкретным.

В Windows это либо права доступа к каталогам, либо длина каталогов/путей. В Linux это будут разрешения. Я также видел случаи, когда проблема заключалась в недопустимых символах в каталогах или файлах.

Лучше всего удалить каталог, клонировав его в какое-нибудь работающее место, например, в Linux-приставку с root-правами (или виртуальную машину или запустить cygwin), и добавить это в файл .gitignore: /wp-content/cache/.

Затем, чтобы удалить уже кэшированную информацию, введите: git rm -rf –-cached wp-content/cache, а затем зафиксируйте и нажмите.

person Mike    schedule 07.11.2013
comment
Та же проблема, но с важными файлами темы, и клонирование в C: \ не решает ее. поэтому я предполагаю, что это не проблема длинного пути. В итоге пришлось использовать виртуальный ящик Linux для работы с этим репозиторием в Windows, но должен быть лучший способ...? - person Mike Lyons; 18.11.2014
comment
@MikeLyons, к сожалению, я не нашел лучшего способа, кроме cygwin (который может быть большой установкой), но использует пути UNC. Если вы столкнетесь с одним, пожалуйста, поделитесь, и мы все поднимем настроение. Многие API-интерфейсы Windows имеют ограничение в 259 символов, с которым работает git. - person Mike; 18.11.2014

У меня была похожая проблема. Я обнаружил, что мне пришлось закрыть Visual Studio, потому что он удерживал каталог.

Я рекомендую вам закрыть все программы, если вы столкнетесь с этой проблемой. Если ваша проблема такая же, как у меня, вы сможете выполнять свои команды git, когда программа, удерживающая ссылку, закрыта. Если вы делаете это систематически, то вы должны найти и преступника.

person John Braxler    schedule 18.05.2017
comment
В моем случае у меня была командная строка, которая выполняла ionic serve, которую мне пришлось остановить. - person David R; 14.11.2017

Мое решение, каким бы странным оно ни казалось, состояло в том, чтобы создать каталог вручную.

Моя проблема заключалась в том же «невозможно создать каталог» во время операции проверки ветки. После создания каталога вручную я смог успешно выполнить проверку git.

person Landeeyo    schedule 29.08.2019

Недавно у меня возникла эта проблема,
и я пробовал запускать всевозможные команды в пределах git bash на windows 10.
Но ничего не работает, и вот что я пытался решить.

  • Просто перезагрузите машину!
    Иногда фоновых процессов так много или они настолько интенсивны, что остановить их уже невозможно.

  • После перезагрузки запустите cmd или cli до run as administrator

  • Запустите git checkout -f <branch>
    Все изменения, если они нежелательны, будут отменены в этом процессе.

  • Оказавшись в ветке new, вы можете git branch -D <branch>, так как вы хотите ее удалить.

person MwamiTovi    schedule 15.04.2020

В моем случае я сделал следующее, и тогда это сработало.

  1. Закройте любое приложение, которое в данный момент использует/держит файл. Для меня это был Матлаб.
  2. Я хотел «git pull», поэтому я сохранил связанные файлы с измененными файлами в другом месте и отменил все свои изменения в этой папке.
  3. А затем выполните git pull и отлично работает.
person best answer    schedule 16.06.2020