Esta versão do GitHub Enterprise foi descontinuada em 2021-09-23. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Solucionar problemas de erros de clonagem

If you're having trouble cloning a repository, check these common errors.

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 sua instância do GitHub Enterprise Server 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 sua instância do GitHub Enterprise Server 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:

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 sua instância do GitHub Enterprise Server! 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 sua instância do GitHub Enterprise Server.

É 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 sua instância do GitHub Enterprise Server. 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'