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
- Diga ao Git para assinar commits automaticamente:
git config --global commit.gpgsign true
- 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.
- 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:
- Exporte sua chave pública:
gpg --armor --export YOUR_EMAIL
- Copie toda a saída.
- Vá para GitHub > Configurações > Chaves SSH e GPG > Nova chave GPG.
- 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.