Back

Como assinar seus commits git com chaves GPG

Como assinar seus commits git com chaves GPG

Quando você observa repositórios de código aberto ou projetos profissionais, pode notar que alguns commits têm um selo “Verificado”. Esses commits assinados comprovam a identidade do autor e adicionam uma camada extra de confiança ao código-base.

Assinar seus commits Git com chaves GPG é simples de configurar e fornece uma prova clara de que os commits realmente vieram de você.

Neste artigo, você aprenderá como criar uma chave GPG, configurar o Git para usá-la e começar a assinar seus commits automaticamente.

Principais Pontos

  • Assinar commits Git verifica sua identidade e melhora a confiança no projeto
  • Configurar a assinatura de commits GPG envolve gerar uma chave e configurar o Git
  • Commits assinados são especialmente importantes para trabalhos de código aberto e empresariais

Por que assinar commits Git?

  • Prova de autoria: Outros podem verificar que um commit foi feito por você, não por alguém se passando por você.
  • Confiança e segurança: Crítico em repositórios de código aberto, empresariais e sensíveis.
  • Padrões profissionais: Cada vez mais esperado em muitos fluxos de trabalho de engenharia.

Commits assinados aparecem com uma etiqueta “Verificado” em plataformas como o GitHub.

Como gerar uma chave GPG

Primeiro, verifique se você já possui uma chave GPG:

gpg --list-secret-keys --keyid-format=long

Se você precisar criar uma:

gpg --full-generate-key

Quando solicitado:

  • Escolha o padrão (RSA e RSA)
  • Defina o tamanho da chave para 4096 bits
  • Defina a expiração (opcional, 1 ano é comum)
  • Insira seu nome e e-mail (deve corresponder à sua conta GitHub se você estiver usando o GitHub)

Após a criação, liste suas chaves:

gpg --list-secret-keys --keyid-format=long

Encontre o ID da chave GPG (uma string longa) associada ao seu e-mail.

Como configurar o Git para usar sua chave GPG

  1. Diga ao Git para assinar commits automaticamente:
git config --global commit.gpgsign true
  1. Configure sua chave GPG para o Git:
git config --global user.signingkey YOUR_KEY_ID

Substitua YOUR_KEY_ID pelo ID que você encontrou anteriormente.

  1. Garanta que o Git use GPG:
git config --global gpg.program gpg

Agora, todos os novos commits que você criar serão assinados automaticamente.

Relacionado: Configurando um Modelo de Commit Git: Um Guia Passo a Passo

Como carregar sua chave GPG no GitHub

Se você quiser o selo “Verificado” no GitHub:

  1. Exporte sua chave pública:
gpg --armor --export YOUR_EMAIL
  1. Copie toda a saída.
  2. Vá para GitHub > Configurações > Chaves SSH e GPG > Nova chave GPG.
  3. Cole sua chave pública e salve.

Agora, o GitHub pode verificar seus commits assinados.

Solucionando problemas de assinatura

  • Solicitações do agente GPG: Alguns sistemas requerem configuração adicional para armazenar sua senha em cache.
  • Endereço de e-mail incorreto: O e-mail da sua chave GPG deve corresponder ao seu e-mail do GitHub (ou ser adicionado à sua conta GitHub).
  • GPG ausente: Certifique-se de que o GPG esteja instalado (gpg --version). Instale-o via Homebrew, apt ou o gerenciador de pacotes do seu sistema, se necessário.

Conclusão

Assinar commits Git com chaves GPG fortalece a segurança e integridade do seu projeto. É um pequeno passo adicional que sinaliza profissionalismo e constrói confiança com colaboradores, usuários e a comunidade de desenvolvedores mais ampla.

Perguntas Frequentes

Sim. Se você não habilitar a assinatura global, pode assinar manualmente um commit com `git commit -S`.

Sim. Você pode configurar fluxos de trabalho do GitHub Actions para usar uma chave GPG para commits ou tags assinados.

Não, é opcional. Mas é cada vez mais incentivada para projetos de código aberto e empresariais.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers