Como assinar seus commits git com chaves GPG
É possível gerar uma chave GPG, configurar o Git para assinar commits automaticamente e enviar a chave pública ao GitHub para exibir o selo Verified.
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
Posso assinar apenas commits específicos em vez de todos?
Sim. Se você não habilitar a assinatura global, pode assinar manualmente um commit com `git commit -S`.
Posso usar assinatura GPG com GitHub Actions?
Sim. Você pode configurar fluxos de trabalho do GitHub Actions para usar uma chave GPG para commits ou tags assinados.
A assinatura GPG é obrigatória?
Não, é opcional. Mas é cada vez mais incentivada para projetos de código aberto e empresariais.