O que remote: warning: unable to access '/root/.config/git/attributes': Permission denied
significa aviso e quais as implicações que isso traz?
$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.
Devo relatar um possível problema de infraestrutura ao hoster?
Respostas:
Eu corri para essa situação sozinho. Depois de verificar que estava procurando
~/.config/
, percebi que o dono dessa pasta eraroot
. Eu mudei paramy_user_name
e funcionou.Também ajuda a saber a causa: esse diretório é criado na primeira vez que você executa um programa que o utiliza. Se o comando foi executado como
root
, isso causará este problema de permissões.Por exemplo, se o
~/.config
diretório ainda não existir e você os executarsudo htop
, os diretórios~/.config
e~/.config/htop
serão criados e pertencentes aroot
. Depois disso, um comando git regular não será capaz de acessar~/.config
e dará o aviso acima. (Crédito: usuário mehtunguh)A
-R
opção comchown
é modificar as permissões recursivamente. Isso ajudará se você tiver subpastas em~/.config
fonte
~/.config
diretório ainda não existir e você executarsudo htop
, os diretórios~/.config
e~/.config/htop
serão criados e pertencentes ao root. Então, umgit
comando regular não pode acessar~/.config
e dará este aviso.Acho que sua
HOME
variável de ambiente está definida incorretamente.No tópico do grupo do google ,
fonte
Git está tentando ler a configuração do root em vez da configuração do usuário. Verifique se suas variáveis de ambiente têm o git config definido correto ou o arquivo .gitconfig em sua pasta inicial está acessível.
fonte
Vá para o diretório raiz
cd ~/
Escreva o seguinte código:
sudo chown -R username /Users/username
Onde nome de usuário é o nome de usuário do seu sistema.
fonte
Corri um problema semelhante e consegui corrigi-lo no lado do servidor. git é executado sob uwsgi, então adicionei na configuração do uwsgi a seguinte linha:
onde / srv / git pertence ao mesmo uid sob o qual o uwsgi é executado e feito.
chmod u+rwX /srv/git
Portanto, você precisa apontar a variável HOME no lado do servidor para o processo que executa git para o diretório onde este processo terá permissões de leitura / gravação / passagem.fonte
Para Windows, pode ser o caso em que algum processo como o cliente CMD ou SSH abriu alguma pasta que o Git tenta excluir.
fonte