Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo discute problemas que podem ocorrer quando você tenta executar o clone do Git ou a função de push do Git em um repositório do Azure DevOps.
Aplica-se a: Azure DevOps Services, Azure DevOps Server
Problemas ao executar o clone do Git ou o push do Git para os repositórios do Azure DevOps
Quando você tenta clonar ou enviar um repositório no GitHub, alguns problemas com a configuração do proxy, o certificado SSL ou o cache de credenciais podem fazer com que a operação de clonagem do Git falhe.
Lista de verificação de solução de problemas
Para identificar a causa dos problemas, siga estas etapas:
Habilite o rastreamento detalhado para definir o nível detalhado de rastreamento para os comandos do Git que você está executando.
Defina as variáveis a seguir em sequência e execute os comandos do Git para cada variável definida para obter mais informações sobre os erros.
GIT_TRACE=1
GIT_TRACE_PACKET=1
GIT_TRACE_CURL_NO_DATA=1
GIT_CURL_VERBOSE=1
O nível de rastreamento definido para essas variáveis fornece mais informações semelhantes ao exemplo a seguir sobre os erros que causam o problema:
Para saber mais sobre variáveis de ambiente do Git, consulte Internos do Git – Variáveis de ambiente.
Causa 1: o Git não pode se conectar por meio do servidor proxy
Se você estiver usando um servidor proxy, mas a configuração do Git não estiver definida para se conectar por meio do servidor proxy, poderá ver as mensagens de erro 407 ou 502. Esse problema também ocorre quando a conexão não pode ser estabelecida por meio do servidor proxy e você vê os erros semelhantes a "não é possível acessar <your github url
>:" ou "não foi possível resolver o host github.com
".
Solução: configurar o Git para usar o servidor proxy
Execute git config --list
para obter uma lista de todas as configurações do Git no sistema e verifique se o servidor proxy está em uso.
Se você vir vários arquivos de configuração, como repositório ou raiz do sistema, execute o git config --list --show-origin
comando e veja o caminho de onde o Git recupera as informações de configuração.
Se você não encontrar um servidor proxy na lista de configurações, execute o git config --global
comando para definir um servidor proxy na configuração.
Por exemplo, http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
.
Para usar um proxy específico para algumas URLs, configure a URL do proxy na subseção de configuração do Git como http.<url\>.key notation:
semelhante ao exemplo a seguir:
git config --global
http.https://domain.com.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
Se o proxy usar https
, defina a configuração do Git com https
a URL do proxy no exemplo acima. Caso contrário, mantenha http
.
Para obter mais informações sobre a configuração do Git, consulte a documentação do Git Config.
Causa 2: o Git usa um certificado autoassinado local
Se o Git estiver usando um certificado autoassinado local, você poderá ver o erro "Problema de certificado SSL: não é possível obter o certificado do emissor local."
Solução 1: desative a verificação TLS/SSL
Se você instalou um TFS (Team Foundation Server) local e deseja desabilitar a verificação TLS/SSL que o Git executa, execute o seguinte comando:
git config --global http.sslVerify false
Solução 2: configurar os certificados autoassinados no Git
Se você quiser continuar a verificação TLS/SSL que o Git faz, siga estas etapas para adicionar o certificado raiz no Git local:
Exporte o certificado raiz como X.509 codificado em Base-64 (. CER) seguindo estas etapas:
Abra o navegador Microsoft Edge e insira a URL do servidor TFS na barra de endereços, como
https://<servername>/tfs
.Na barra de endereços, selecione o
ícone e, em seguida, selecione o link A conexão é segura .
Selecione o
ícone para abrir a janela Certificação .
Na guia Caminho de Certificação , selecione o certificado superior esquerdo, que é o certificado raiz.
Selecione Exibir certificado para abrir a janela Certificado do certificado raiz.
Na guia Detalhes , selecione Copiar para arquivo... .
No Assistente de Exportação de Certificado, selecione Avançar e, em seguida, selecione X.509 codificado em Base-64 (. CER) a serem exportados.
Salve o certificado raiz no disco local.
Configure o Git para usar o diretório local para o repositório de certificados Git seguindo estas etapas:
Vá para o caminho C:\Program Files\Git\bin no disco local e faça uma cópia do arquivo curl-ca-bundle.crt .
Observação
- Quando você instala o Git para Windows (
msysgit
) em seu dispositivo, um arquivo curl-ca-bundle.crt é armazenado no diretório Arquivos de Programas. Esse arquivo é o repositório de certificados raiz do git.exe que contém todos os certificados em que o Git confia. - O arquivo curl-ca-bundle.crt , que é armazenado por dispositivo, é privado para o cliente Windows local. O arquivo de texto tem terminações de linha UNIX (
\n
). - Na série Git para Windows 2.x, o caminho será alterado para C:\Arquivos de Programas (x86)\Git\mingw32\ssl\certs\ca-bundle.crt ou C:\Arquivos de Programas\Git\mingw64\ssl\certs\ca-bundle.crt. Se você estiver usando um cliente Windows de 32 bits, poderá corrigir o caminho da pasta de forma que a parte Arquivos de Programas não apareça com x86.
- Quando você instala o Git para Windows (
Copie o arquivo curl-ca-bundle.crt para o diretório de perfil do usuário (C:\Users\<yourname>). Ou execute um comando de cópia semelhante ao
copy "C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt" C:\Users\<yourname>
exemplo.Execute o seguinte comando para configurar o Git para usar a cópia local do repositório de certificados do seu cliente Windows:
git config --global http.sslCAInfo C:/Users/<yourname>/curl-ca-bundle.crt
Adicione o certificado raiz exportado à cópia local do repositório de certificados Git seguindo estas etapas:
Abra o certificado raiz exportado no Bloco de Notas e copie todo o conteúdo para a área de transferência.
Abra o arquivo curl-ca-bundle.crt acessando o caminho C:/Users/<yourname>/curl-ca-bundle.crt em um editor de texto.
Dica
Você pode usar a ferramenta unix2dos para alterar as terminações de linha no arquivo de \n para \r\n e ser capaz de abrir o arquivo no Bloco de Notas.
Adicione uma entrada para o certificado raiz no final e cole o conteúdo do certificado no arquivo curl-ca-bundle.crt .
Salve o arquivo curl-ca-bundle.crt .
Execute a operação de clonagem para verificar se o erro de SSL foi resolvido.
Causa 3: erro de autenticação ou problemas de cache de credenciais
Se o nome da sua conta ou senha de domínio tiver sido alterado ou você está recebendo um erro de autenticação, poderá haver problemas de autenticação ou cache de credenciais.
Solução: redefinir o GCM (gerenciador de credenciais do Git)
Para resolver o erro de autenticação ou problemas de cache de credenciais, comece seguindo a lista de verificação de solução de problemas para obter as informações de erro e siga estas etapas:
- Execute o comando e verifique se você está usando o
git config --list
Git Credentials Manager (GCM). Se ocredential.helper
estiver definido como manager, o GCM estará em uso. - Redefina o GCM seguindo estas etapas:
- Execute o
git config --global --unset credential.helper
comando para desconfigurar o GCM. - Execute o
git config credential.helper manager
comando para definir o GCM de volta. Como alternativa, siga estas etapas para excluir o cache de credenciais primeiro:- Quando a configuração não estiver definida, pesquise o Gerenciador de Credenciais na pesquisa do Windows, selecione Abrir e remova qualquer credencial que seja para um repositório Git.
- Vá para o caminho %localappdata%/GitCredentialManager e exclua o arquivo tenant.cache .
- Defina o GCM de volta executando o
git config credential.helper manager
comando.
- Execute o
- Execute a operação de clonagem para verificar se o problema foi resolvido.
Observação: dependendo da versão do Git para Windows, o credential.helper
valor seria diferente. Para obter detalhes, consulte a tabela a seguir:
Versões do Git para Windows | Gerenciador de credenciais do Git para Windows | Núcleo do Gerenciador de Credenciais do Git | Gerenciador de credenciais do Git (renomeado de GCM Core) |
---|---|---|---|
2.27 e anteriores | manager |
||
2.28 até 2.33.0 | manager (opcional) |
manager-core (opcional) |
|
2.33.1 até 2.34.0 | manager-core |
||
2.34.1 até 2.38 | manager-core |
||
2.39 e posterior | manager |