Skip to main content

Assinar commits

Você pode assinar confirmações localmente usando GPG ou S/MIME.

Observação: o GitHub Desktop só dá suporte à assinatura de commit se o cliente do Git está configurado para assinar commits por padrão.

Dicas:

Para configurar seu cliente do Git para assinar commits por padrão em um repositório local, nas versões do Git 2.0.0 e superior, execute git config commit.gpgsign true. Para assinar todos os commits por padrão em qualquer repositório local no computador, execute git config --global commit.gpgsign true.

Para armazenar a frase secreta da chave GPG e não precisar inseri-la sempre que assinar um commit, recomendamos o uso das seguintes ferramentas:

  • Para usuários do Mac, o GPG Suite permite que você armazene a senha de chave GPG no Conjunto de Chaves do Mac OS.
  • Para usuários do Windows, o Gpg4win integra-se a outras ferramentas do Windows.

Você também pode configurar manualmente o gpg-agent para salvar sua frase secreta de chave GPG, mas isso não se integra ao Conjunto de Chaves do Mac OS como o ssh-agent e exige configuração adicional.

Se você tiver várias chaves ou estiver tentando assinar commits ou tags com uma chave que não corresponda à sua identidade de autor de commit, informe sua chave de assinatura ao Git.

  1. Ao fazer commit das alterações no branch local, adicione o sinalizador -S flag ao comando git commit:
    $ git commit -S -m "YOUR_COMMIT_MESSAGE"
    # Creates a signed commit
  2. Se você estiver usando a GPG, depois de criar o commit, forneça a frase secreta configurada quando gerou a chave GPG.
  3. Quando terminar de criar os commits localmente, faça o push para o repositório remoto no GitHub AE:
    $ git push
    # Pushes your local commits to the remote repository
  4. No GitHub AE, navegue até sua pull request.
  5. Na solicitação de pull, clique em Commits. Guia Commits em uma solicitação de pull
  6. Para exibir informações mais detalhadas sobre a assinatura verificada, clique em Verified (Verificada). Commit assinado

Leitura adicional