Ошибка не может зависеть от git pull

Я попытался выполнить вывод git из удаленной ветки с помощью следующей команды:

$ git pull origin branch_name
[email protected]_repository password:
From ssh://private_repository/path/project
 * tag               branch_name       -> FETCH_HEAD
error: cannot stat 'path/name/of/file': Permission denied
error: cannot stat 'path/name/of/file': Permission denied

Но я получаю следующую ошибку:

error: cannot stat 'path/name/of/file': Permission denied 
error: cannot stat 'path/name/of/file': Permission denied

Кто-нибудь знает, что это значит и что я могу с этим сделать?

Спасибо

Ответ 1

Объяснение легко - у вас есть проблема с безопасностью с вашими разрешениями на ваши файлы и хранилища git. У вас должны быть разрешения на перенос файлов из git.

Если права доступа к каталогу 755 (rwxr-xr-x), включая все родительские каталоги, каждый может указать содержимое каталога.

Но вы не можете, поэтому обычно это означает, что полный путь к каталогу не имеет 755 разрешений. Это также означает, что все родительские каталоги должны иметь разрешение + x.

Ответ 2

Для тех, кто работает с:

  • IntelliJ IDEA
  • Visual Studio
  • Notepad++

Закрытие решения может устранить эту ошибку. У инструментов IDE git все еще могут быть данные файлы.

Ответ 3

Я начал использовать Atom и нашел, что это проблема. Необходимо обновить дерево файлов Atom и решить проблему git.

Ответ 4

У меня была эта проблема неоднократно с Atom, закрытие Atom решало ее для меня каждый раз. Закройте любое приложение, используя файлы, на которые может повлиять pull.

Ответ 5

У меня было другое решение этой ошибки. Я использовал atom.io в качестве своего инструмента разработки. Я хотел отказаться от моей последней пробной работы (через git clean -df, а затем git checkout -- .). Когда я это сделал, в дереве каталогов в Atom были обнаружены остаточные пустые каталоги.

Эти пустые каталоги генерировали error: cannot stat 'path/name/of/directory': Permission denied, когда я попытался проверить альтернативную ветвь внутри git. Путь расстраивает.

Исправить было просто щелкнуть по каталогам в Atom в дереве каталогов, где они немедленно исчезнут. Когда они ушли, ошибок в git больше не было.

Ответ 6

У меня была та же проблема, и я понял, что перезапустил редактор кода, закрыв все файлы, связанные с проектом (Atom) и моим графическим интерфейсом git (SourceTree). После этого вы можете сменить ветку.

Ответ 7

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

Ответ 8

Мое разрешение было похоже на большинство из вышеперечисленных:

  • Я закрыл код Visual Studio,
  • Закрыты все открытые окна проводника,
  • Убедитесь, что ни одно из моих окон bash/powershell не открывало каталог.

Это все еще не работает для меня. Я закончил:

  • Проверяя другую ветку,
  • Возвращаясь в ветку я пытался вытащить.

На этот раз, когда я запустил git pull это сработало.

Ответ 9

что сработало для меня - запустить sourcetree и visual studio в режиме администратора

щелкните правой кнопкой мыши по значку (sourcetree или visual studio), и вы должны увидеть опцию "Запуск от имени администратора"

введите описание изображения здесь

Альтернативно перейдите к свойствам для конкретного приложения и в закладке "Ярлык" выберите "Дополнительно" и нажмите "Запуск от имени администратора"

введите описание изображения здесь

Ответ 10

Также CLI Angular может блокировать ваши файлы. Поэтому убедитесь, что вы остановили выполнение ng-сервиса.

Ответ 11

Yup, так что я просто получил здесь и легко исправить для пользователей Visual Studio.

Если вы выполняете проверку ветки, но не настроили Visual Studio на фокус, она будет временно блокировать файлы.

Как только вы нажмете на VS и разрешите перезагружать файлы проекта, вы сможете снова вытащить... ошибка пользователя здесь

Ответ 12

Ваша среда git настроена неправильно.

Репозиции должны принадлежать пользователю git. Поэтому пользователь git должен принять ваш открытый ключ.

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

Ответ 13

Просто закройте любое приложение, связанное с этим файлом. после этого откройте терминал и вытяните код.

Ответ 14

Я получил это после выполнения git pull --all

git pull решил проблему

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