Ajuda-me, por favor, estou tentando executar isso no meu terminal:
asgard@asgard-A7N8X2-0:~/CollegePortal$ git pull
error: cannot open .git/FETCH_HEAD: Permission denied
Então eu tento este
asgard@asgard-A7N8X2-0:~/CollegePortal$ sudo git pull
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Me ajude, eu não entendo esse problema.
sudo
não ajuda aqui, pois precisa acessar as chaves ssh (não as do root).Respostas:
Parece que o primeiro não está funcionando porque seu usuário não tem permissões para alterar esse diretório e o segundo porque seu usuário raiz não possui as chaves SSH corretas para acessar o repositório git.
Dependendo do que você está tentando fazer, pode ser melhor clonar o repositório em um diretório diferente ou talvez
chown
o diretório atual tenha acesso total ao seu usuáriofonte
www-data
usuário a permissão para atualizar o.git
diretório. Estou chamando o script de shell usando php sobre http no navegador. Detalhes aquisudo su
e está agindo como raiz em um repositório. Um simplessudo chown -R <username> .
nesse diretório funciona como mágica!Verifique se você possui permissões suficientes no
.git/
diretório. Você deve ter permissões de gravação. Você pode configurá-los com o seguinte comando.Vá para a pasta do seu projeto:
fonte
chown: youruser: Invalid argument
chown -R youruser .git/
chown
.git/
e sua pasta pai para que ele funcionechown
não trabalhar que também executar este comandosudo chmod 0777 -R .git/
Se você deseja dar permissão ao grupo,
funcionou melhor para mim.
Para MacOS
fonte
Este é um problema de permissão do UNIX. Não use
sudo
para clonar o repositório. Você não possui as mesmas chaves ssh do root e não deve funcionar como root de qualquer maneira. Tentels -la
encontrar as permissões nos arquivos e usechmod
(ousudo chown
) para corrigi-los. Espero que ajude.fonte
sudo clone
aceitar o novo contrato de licença do XCode. A resposta é aceitar o contrato e clonar sem sudo.No meu caso, trabalhe bem depois:
fonte
A resposta para esse problema verifique se o .git / FETCH_HEAD possui privilégios de gravação e você estará pronto.
Eu tive esse problema no Windows e foi resolvido concedendo permissões de gravação.
No unix, é possível executar a
chmod a+rw .git/FETCH_HEAD
partir do repositório do projeto, após o qual deve funcionar.fonte
.git/FETCH_HEAD
sozinho se o problema de permissão estiver ativado.git
.Tente assim,
Etapa 1: Primeiro verifique quem você é? retornará o nome de usuário atual, por exemplo, ubuntu
Passo 2: permissão seguida, defina para o usuário atual, nesse caso, ubuntu por
fonte
No meu caso, eu só tinha acesso de leitura ao arquivo .git / FETCH_HEAD. Eu tive que fazer "sudo chmod g + w .git / FETCH_HEAD" para poder fazer uma solicitação de recebimento.
fonte
.git/FETCH_HEAD
sozinho se o problema de permissão estiver ativado.git
.sudo chmod g+w .git/FETCH_HEAD
sudo chmod g+w .git/FETCH_HEAD
, solução perfeita.Eu estava tendo o primeiro problema (permissão FETCH_HEAD negada) no Windows.
Corrigi-o executando o Git Bash como administrador (clique com o botão direito do mouse, execute como administrador).
fonte
Se você não se adicionou ao grupo que possui
.git/
, deve fazê- lo.O que isso faz:
.git/
e adiciona seu usuário a esse grupo..git/
..gitignore
que você provavelmente precisaráSe você fez algo recentemente recentemente (se adicionou ao grupo que possui
.git/
), precisará sair e fazer login novamente antes de poder escrever.git/FETCH_HEAD
durante o seugit pull
.fonte
Defina a permissão para seu usuário atual executando o comando
$ sudo chown -R <username> .git/
fonte
Simplesmente vá para sua pasta raiz e execute este comando:
fonte
Executando o Windows 7, quando tive esse problema, era porque ocultara a pasta .git. As permissões eram boas, estava apenas oculta. Mostrando a pasta resolveu.
fonte
Isso resolverá todas as permissões na pasta
fonte
Isso funcionou para mim:
Não há mais permissão negada erros no git. 🎉
fonte
Observe o proprietário e o grupo de
.git
diretórios com (primeiro vá para o diretório pai do .git)ll .git
, observe o grupo e o proprietário do diretório, inclua seu usuário no grupo de proprietáriossudo usermod -a -G yourusername groupsofonwner
e faça logout => login e tudo dando certo .Então, no verão
vá para o diretório pai do git
encontre o proprietário do grupo do
.git
direcotryadicione seu usuário a esse grupo
Efetue logout e logon no sistema para essa alteração.
Aproveite ;)
fonte
Tenho esse problema quando a pasta .git está oculta e todos os arquivos nela também estão ocultos. Torne oculta apenas a pasta .git sem a atualização de arquivos recursivos e ela funcionará.
fonte
As razões deste erro podem ser múltiplas, mas no meu caso eu atualizei o branch com root e, quando tentei atualizá-lo com o usuário normal, ele me deu um erro.
tente as duas soluções que você deve trabalhar para você
se não funcionar, tente a próxima solução, espero que resolva o seu problema
fonte
Eu recebi esta mensagem ao usar extensões git para Windows. Minha correção foi simplesmente fechar as extensões git e abrir novamente como administrador
fonte
No meu caso,
este comando funciona.
fonte
Esse problema ocorre quando você não concede permissões suficientes para a pasta .git. Para resolver este problema
Digite este comando-
Espero que ajude..!!
fonte
Eu tive exatamente o mesmo erro, mas no meu caso, o problema foi o resultado de ter reconstruído o Apache após uma atualização para a versão PHP. Para encurtar a história, esqueci de instalar o módulo Apache 'suexec'.
Não tinha nada a ver com grupo ou propriedade. Isso levou apenas dois dias para descobrir, alguém atirou em mim ...
fonte
No meu caso, eu tinha um sistema de inicialização dupla (Windows 10 e Linux) com pasta de projeto no disco NTFS. Aconteceu que em outra atualização o Windows 10 ativado por si só "inicialização rápida" em suas configurações. Depois de desmarcá-lo no Windows - o "erro: não pode abrir .git / FETCH_HEAD: permissão negada" no Linux se foi.
fonte
Consegui isso porque tinha mais de uma conta de usuário em minha caixa. Eu estava logado como usuário A e estava em um diretório para o usuário B. O usuário A não tinha permissão para as coisas do usuário B. Depois que percebi que não estava onde pensava que estava no sistema de arquivos, esse erro fez sentido.
fonte
se você encontrar o mesmo problema no servidor Windows, precisará executar a linha de comando com permissão suficiente, como permissão de administrador.
fonte
para usuários do MacOS (se a versão High Sierra ou versão superior) usar este:
fonte
TL; DR: nos sistemas de inicialização dupla, desative a Inicialização rápida para Windows
Eu estava tendo esse problema no meu sistema Ubuntu / Windows de inicialização dupla. Não consegui escrever nada em nenhuma das partições compartilhadas com o Windows (partições NTFS).
Recentemente, reinstalei os dois e esqueci de ativar a "Inicialização rápida" no Windows. Tudo voltou ao normal depois que eu reiniciei o Windows, desliguei esse recurso e reiniciei novamente.
fonte