Что означает предупреждение remote: warning: unable to access '/root/.config/git/attributes': Permission denied
и какие последствия оно несет?
$git clone git://git.eclipse.org/gitroot/egit/egit.git
Cloning into 'egit'...
remote: warning: unable to access '/root/.config/git/attributes': Permission denied
remote: Counting objects: 57926, done.
remote: Compressing objects: 100% (11872/11872), done.
remote: Total 57926 (delta 30734), reused 56308 (delta 29136)
Receiving objects: 100% (57926/57926), 32.29 MiB | 1021 KiB/s, done.
Resolving deltas: 100% (30734/30734), done.
Checking out files: 100% (1483/1483), done.
Должен ли я сообщать хостеру о потенциальных проблемах с инфраструктурой?
Ответы:
Я сам столкнулся с этой ситуацией. Убедившись, что он просматривает,
~/.config/
я заметил, что владельцем этой папки былroot
. Я изменил это на,my_user_name
и это сработало.Это также помогает узнать причину: этот каталог создается при первом запуске программы, которая его использует. Если команда была запущена от имени
root
, это вызовет проблему с разрешениями.Например, если
~/.config
каталог еще не существует, а вы запускаетеsudo htop
, каталоги~/.config
и~/.config/htop
будут созданы и принадлежать емуroot
. После этого обычная команда git не сможет получить доступ~/.config
и выдаст указанное выше предупреждение. (Кредит: пользователь mehtunguh)-R
Вариант сchown
заключается в изменении разрешения рекурсивно. Это поможет, если у вас есть подпапки в~/.config
источник
~/.config
каталог еще не существует, а вы запускаетеsudo htop
, каталоги~/.config
и~/.config/htop
будут созданы и принадлежать пользователю root. Тогда обычнаяgit
команда не сможет получить доступ~/.config
и выдаст это предупреждение.Я думаю, что ваша
HOME
переменная envireonment установлена неправильно.Из темы группы Google ,
источник
Git пытается прочитать конфигурацию из root, а не из пользовательской конфигурации. Убедитесь, что переменные вашей среды имеют правильный набор конфигурации git или доступен файл .gitconfig в вашей домашней папке.
источник
Перейти в корневой каталог
cd ~/
Напишите следующий код:
sudo chown -R username /Users/username
Где username - это имя пользователя вашей системы.
источник
Я столкнулся с аналогичной проблемой и смог исправить ее на стороне сервера. git работает там под uwsgi, поэтому я добавил в конфигурацию uwsgi следующую строку:
где / srv / git принадлежит тому же uid, под которым запущен и создан uwsgi.
chmod u+rwX /srv/git
Итак, вам нужно указать переменную HOME на стороне сервера для процесса, который запускает git, в каталог, в котором этот процесс будет иметь разрешения на чтение / запись / перемещение.источник
Для Windows это может быть случай, когда какой-то процесс, например CMD или SSH-клиент, открыл какую-то папку, которую Git пытается удалить.
источник