{"meta":{"title":"Solução de problemas de verificação de GPG para GitHub Codespaces","intro":"Este artigo fornece conselhos de solução de problemas para erros relacionados à assinatura de seus commits no Codespaces.","product":"Codespaces","breadcrumbs":[{"href":"/pt/codespaces","title":"Codespaces"},{"href":"/pt/codespaces/troubleshooting","title":"Solução de problemas"},{"href":"/pt/codespaces/troubleshooting/troubleshooting-gpg-verification-for-github-codespaces","title":"Verificação de GPG"}],"documentType":"article"},"body":"# Solução de problemas de verificação de GPG para GitHub Codespaces\n\nEste artigo fornece conselhos de solução de problemas para erros relacionados à assinatura de seus commits no Codespaces.\n\nSe você habilitar a verificação GPG, o GitHub Codespaces assina automaticamente os seus commits em codespaces que você cria com base em repositórios selecionados. Para saber mais, confira [Gerenciando a verificação GPG para GitHub Codespaces](/pt/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces).\n\nDepois de habilitar a verificação GPG, ela entrará em vigor automaticamente em novos codespaces criados com base nos repositórios relevantes. Para que a verificação GPG entre em vigor em um codespace ativo existente, você precisará parar e reiniciar o codespace. Para saber mais, confira [Parar e iniciar um codespace](/pt/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace).\n\nSe o GitHub Codespaces não assinar um commit, você poderá ver a mensagem de erro `gpg failed to sign the data` na linha de comando ou em uma janela pop-up do Visual Studio Code.\n\nAs seções a seguir deste artigo fornecem conselhos de solução de problemas para causas comuns desse erro.\n\n* Se a verificação GPG tiver sido habilitada anteriormente nas configurações do GitHub Codespaces, e você desabilitou recentemente a verificação GPG ou removeu um repositório de sua lista de repositórios confiáveis, o Git ainda pode estar tentando assinar seus commits. Para obter mais informações, confira [Erros depois de desabilitar a verificação GPG](#errors-after-disabling-gpg-verification).\n* Se a verificação GPG estiver habilitada no codespace, talvez você tenha substituído a configuração do Git necessária para assinar seus commits. Para obter mais informações, confira [Erros causados por configuração conflitante do Git](#errors-caused-by-conflicting-git-configuration).\n* Se a verificação GPG estiver desabilitada no codespace e você estiver se deparando com o erro ao tentar fazer commit na exibição \"Controle do Código-Fonte\" no VS Code, isso pode ser devido às configurações do VS Code. Para obter mais informações, confira [Erros na exibição \"Controle do código-fonte\" do VS Code](#errors-in-the-vs-code-source-control-view).\n\n## Erros após desabilitar a verificação GPG\n\nQuando você habilita a verificação GPG, GitHub Codespaces assina todos os commits que você faz em codespaces por padrão. Ele faz isso definindo o valor de configuração do Git `commit.gpgsign` como `true`.\n\nSe você tiver desabilitado a verificação GPG e estiver trabalhando em um codespace existente, esse valor ainda será definido como `true`. Isso significa que GitHub Codespaces tentará assinar seus commits, mas não será possível fazer isso, pois você desabilitou a configuração de verificação GPG.\n\nPara continuar fazendo commits regulares e não assinados em seu codespace, redefina `commit.gpgsign` para o valor padrão de `false` inserindo o comando a seguir no terminal.\n\n```shell copy\ngit config --unset commit.gpgsign\n```\n\nPara verificar se o valor foi removido corretamente da configuração, você pode inserir `git config --list`. Você não deve ver um valor para `commit.gpgsign` na lista.\n\n## Erros causados por configuração conflitante do Git\n\nPara assinar automaticamente seus commits, GitHub Codespaces define determinados valores de configuração do Git em seu codespace. Se você substituir os valores definidos por GitHub Codespaces, talvez não consiga assinar seus commits.\n\nVocê poderá estar substituindo inadvertidamente esses valores se tiver vinculado GitHub Codespaces a um repositório dotfiles que contém arquivos de configuração do Git. Para saber mais sobre como usar dotfiles com o GitHub Codespaces, confira [Personalizando GitHub codespaces para sua conta](/pt/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#dotfiles).\n\n### Verificar se há uma configuração conflitante\n\nPara assinar seus commits com GPG, o GitHub Codespaces define automaticamente, no nível do sistema, os seguintes valores de configuração do Git.\n\n| Definição de configuração | Valor necessário                                                       |\n| ------------------------- | ---------------------------------------------------------------------- |\n| `user.name`               | Precisa corresponder ao nome completo definido em seu perfil do GitHub |\n| `credential.helper`       | Precisa ser definida como `/.codespaces/bin/gitcredential_github.sh`   |\n| `gpg.program`             | Precisa ser definida como `/.codespaces/bin/gh-gpgsign`                |\n\nPara verificar se esses valores estão definidos corretamente em um codespace, você pode usar o comando `git config --list --show-origin`. Como GitHub Codespaces define essa configuração no nível do sistema, as definições de configuração necessárias devem vir de `/usr/local/etc/gitconfig`.\n\n```shell\n$ git config --list --show-origin\nfile:/usr/local/etc/gitconfig   credential.helper=/.codespaces/bin/gitcredential_github.sh\nfile:/usr/local/etc/gitconfig   user.name=Mona Lisa\nfile:/usr/local/etc/gitconfig   gpg.program=/.codespaces/bin/gh-gpgsign\n```\n\nAlém dos valores listados acima, você poderá encontrar erros se os dotfiles usados em seus codespaces contiverem qualquer um dos valores a seguir.\n\n* O valor de configuração do Git `user.signingkey`\n* O valor de configuração do Git `commit.gpgsign`\n* Um `GITHUB_TOKEN` definido manualmente\n\n### Remover a configuração conflitante\n\nSe você quiser manter a verificação automática do GPG para o GitHub Codespaces ativada, será necessário remover qualquer configuração conflitante dos dotfiles utilizados em seus codespaces.\n\nPor exemplo, se o arquivo global `.gitconfig` em seu computador local contiver um valor `gpg.program` e você tiver enviado esse arquivo por push a um repositório dotfiles vinculado a GitHub Codespaces, talvez você queira remover `gpg.program` desse arquivo e defini-lo no nível do sistema em seu computador local.\n\n> \\[!NOTE]\n> Quaisquer alterações no seu repositório de dotfiles serão aplicadas a novos codespaces que você criar, mas não aos codespaces já existentes.\n\n1. No computador local, abra um terminal.\n\n2. Para remover o valor conflitante de `~/.gitconfig` (Mac/Linux) ou `C:\\Users\\YOUR-USER\\.gitconfig` (Windows), use o comando `git config --global --unset`.\n\n   ```shell\n   git config --global --unset gpg.program\n   ```\n\n3. Envie por push a alteração para o repositório dotfiles em GitHub.\n\n4. Opcionalmente, para manter a configuração local, defina o valor novamente em um arquivo de configuração do Git que você não envia por push para o repositório dotfiles.\n\n   Por exemplo, você pode usar o sinalizador `--system` para definir a configuração no arquivo no nível do sistema em `PATH/etc/gitconfig`, em que `PATH` é o diretório no qual o Git está instalado em seu sistema.\n\n   ```shell\n   git config --system gpg.program gpg2\n   ```\n\nComo alternativa, se o repositório dotfiles contiver um script de instalação em um arquivo reconhecido, como `install.sh`, você poderá usar a variável de ambiente `$CODESPACES` para adicionar lógica condicional, como a configuração `gpg.program` somente quando você não estiver em um codespace. No exemplo a seguir, `-z \"$CODESPACES\"` retornará `true` se você não estiver em um codespace.\n\n```shell copy\nif [ -z \"$CODESPACES\" ]; then\n  git config --global gpg.program gpg2\nfi\n```\n\n## Erros na exibição \"Controle do Código-Fonte\" do VS Code\n\nSe a verificação GPG estiver desabilitada em suas configurações do GitHub Codespaces ou o repositório do qual você criou o codespace não estiver em sua lista de repositórios confiáveis, o Git não deverá tentar assinar seus commits. Se você encontrar um erro de assinatura ao tentar fazer commit na exibição \"Controle do Código-Fonte\" no VS Code, deverá verificar as configurações do VS Code no seu codespace.\n\n1. No canto inferior esquerdo da janela, selecione **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-gear\" aria-label=\"Manage\" role=\"img\"><path d=\"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z\"></path></svg>** e clique em **Configurações**.\n\n   ![Captura de tela de uma seção do cliente Web do VS Code. Um ícone de engrenagem e a opção \"Configurações\" em um menu estão realçados com um contorno laranja.](/assets/images/help/codespaces/vscode-settings.png)\n\n2. Na guia \"Usuário\", na barra de pesquisa, pesquise \"gpg\".\n\n3. Verifique se a configuração \"Ativa a assinatura de commits com GPG ou X.509\" está desmarcada.\n\n   ![Captura de tela da guia de configurações do \"Usuário\". Uma caixa de seleção desmarcada, com o rótulo \"Habilita a assinatura de commit com GPG ou X.509\", está contornada em laranja.](/assets/images/help/codespaces/gpg-vscode-setting.png)\n\nSe você achar que essa configuração está habilitada, desmarque a caixa de seleção para que o VS Code pare de tentar assinar seus commits ou habilite a verificação GPG no repositório em que você está trabalhando para que os commits possam ser assinados com êxito.\n\nSe você alterar as configurações do VS Code, deverá garantir que a Sincronização de Configurações esteja habilitada se quiser compartilhar as alterações com outros codespaces que você criar. Você só deve ativar a Sincronização de Configurações em um codespace criado por meio de um repositório em que você confia. Para saber mais, confira [Personalizando GitHub codespaces para sua conta](/pt/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#settings-sync).\n\n## Leitura adicional\n\n* [Sobre a verificação de assinatura de commit](/pt/authentication/managing-commit-signature-verification/about-commit-signature-verification)\n* [\n  `git config`\n  ](https://git-scm.com/docs/git-config) na documentação oficial do Git"}