Erros de clonagem HTTPs
Existem alguns erros comuns ao usar HTTPS com o Git. Esses erros normalmente indicam que você tem uma versão antiga do Git ou que você não tem acesso ao repositório.
Segue aqui um exemplo de erro HTTPS que você pode receber:
> erro: A URL solicitada retornou o erro: 401 ao acessar
> https://hostname/user/repo.git/info/refs?service=git-receive-pack
> fatal: solicitação HTTP rejeitada
> Erro: A URL solicitada retornou o erro: 403 ao acessar
> https://hostname/user/repo.git/info/refs
> fatal: solicitação HTTP rejeitada
> Erro: https://hostname/user/repo.git/info/refs not found: você executou o git
> update-server-info no servidor?
Verifique sua versão do Git
Não há uma versão mínima necessária do Git para interagir com GitHub Enterprise Server, mas achamos que a versão 1.7.10 é uma versão estável e confortável, e que está disponível em muitas plataformas. Sempre é possível baixar a última versão no site do Git.
Confirme que o remote está correto
O repositório que você está tentando fazer fetch deve existir em your GitHub Enterprise Server instance e a URL diferencia maiúsculas de minúsculas.
Você pode localizar a URL do repositório local abrindo a linha de comando e digitando git remote -v
:
$ git remote -v
# Visualiza remotes existentes
> origem https://github.com/ghost/reactivecocoa.git (fetch)
> origem https://github.com/ghost/reactivecocoa.git (push)
$ git remote set-url origin https://github.com/ghost/ReactiveCocoa.git
# Altere a 'origem' da URL do remote
$ git remote -v
# Verifica nova URL remota
> origin https://github.com/ghost/ReactiveCocoa.git (fetch)
> origin https://github.com/ghost/ReactiveCocoa.git (push)
Aternativamente, você pode alterar a URL por meio de nosso aplicativo GitHub Desktop.
Forneça um token de acesso
Para acessar GitHub, você deve efetuar a autenticação com um token de acesso pessoal em vez de sua senha. Para mais informação, consulte "Criando um token de acesso pessoal."
Verifique suas permissões
Quando for solicitado um nome e senha, certifique-se de usar uma conta que tenha acesso ao repositório.
Dica: Se você não desejar inserir suas credenciais toda vez que interagir com o repositório remoto, você poderá ativar o armazenamento de credenciais. Se você já está usando o cache de credenciais, certifique-se de que o seu computador tem as credenciais corretas armazenadas em cache. Credenciais incorretas ou desatualizadas causarão falha na autenticação.
Substitua por SSH
Se você configurou as chaves SSH previamente, é possível usar a URL clone SSH em vez de HTTPS. Para obter mais informações, consulte "Sobre repositórios remotos."
Erro: repositório não encontrado
Se você vir este erro ao clonar um repositório, significa que o repositório não existe, você não tem permissão para acessá-lo ou your GitHub Enterprise Server instance está em modo privado. Existem algumas soluções para este erro, dependendo da causa.
Verifique a ortografia
Erros de digitação acontecem e os nomes dos repositórios diferenciam maiúsculas de minúsculas. Ao tentar clonar git@<em>hostname</em>:user/repo.git
e o repositório estiver nomeado User/Repo
, você receberá essa mensagem de erro.
Para evitar o erro ao clonar, sempre copie e cole a URL clone da página do repositório. Para obter mais informações, consulte "Clonar um repositório".
Para atualizar o repositório remoto em um repositório existente, consulte "Gerenciar repositórios remotos".
Verifique as permissões
Se você está tentando clonar um repositório privado, mas não tem permissão para visualizar o repositório, ocorrerá esse erro.
Assegure-se de ter acesso ao repositório como:
- Proprietário do repositório
- Colaborador no repositório
- Integrante de uma equipe com acesso ao repositório (caso o repositório pertença a uma organização)
Verifique seu acesso SSH
Em raras circunstâncias, você pode não ter o devido acesso SSH a um repositório.
Confirme que a chave SSH em uso está associada � sua conta de usuário GitHub Enterprise Server. Para confirmar, digite na linha de comando:
$ ssh -T git@hostname
> Olá username! Você conseguiu se autenticar, mas o GitHub não
> fornece acesso shell.
Se o repositório pertencer a uma organização e você estiver usando uma chave SSH gerada por um aplicativo OAuth, o acesso ao aplicativo OAuth poderá ser restringido pelo proprietário da organização. Para obter mais informações, consulte "Sobre as restrições de acesso ao aplicativo OAuth".
Para obter mais informações, consulte Adicionar uma nova chave SSH � sua conta GitHub.
Verifique se sua instância está em modo privado
Caso o administrador de seu site tenha habilitado o modo privado em sua instância GitHub Enterprise, clones anônimos em git://
estarão desabilitados. Caso não consiga clonar um repositório, contate o administrador de seu site.
Verifique se o repositório realmente existe
Se nada resolver o problema, confirme se o repositório realmente existe em your GitHub Enterprise Server instance! Caso você esteja tentando fazer push para um repositório que não existe, você receberá essa mensagem de erro.
Erro: HEAD remote faz referência a um ref inexistente, não é possível fazer checkout
O erro ocorre se o branch padrão de um repositório foi excluído em your GitHub Enterprise Server instance.
É simples identificar esse erro; o Git avisará quando você tentar clonar o repositório:
$ git clone https://hostname/user/repo.git
# Clonar um repositório
> Clonando em 'repo'...
> remote: Contando objetos: 66179, concluído.
> remote: Compactando objetos: 100% (15587/15587), concluído.
> remote: Total 66179 (delta 46985), reutilizados 65596 (delta 46402)
> Recebendo objetos: 100% (66179/66179), 51.66 MiB | 667 KiB/s, concluído.
> Solucionando deltas: 100% (46985/46985), concluído.
> aviso: HEAD remote faz referência a um ref inexistente, não é possível fazer checkout.
Para corrigir o erro, você precisa ser o administrador do repositório em your GitHub Enterprise Server instance. Você deverá alterar o branch padrão do repositório.
Depois de fazer isso, você obterá uma lista de todos os branches disponíveis a partir da linha de comando:
$ git branch -a
# Lista TODOS os branches
> remotes/origin/awesome
> remotes/origin/more-work
> remotes/origin/new-master
Em seguida, mude para o novo branch:
$ git checkout new-master
# Criar e fazer checkout de um branch rastreado
> Configuração de um novo branch mestre para rastrear novo branch mestre remote na origem.
> Alterado para um novo 'novo branch master'