git verify-commit

Inspeção e comparação

Verifica a assinatura GPG dos commits


O comando 'git verify-commit' verifica a assinatura criptográfica de commits feitos com git commit -S. Ele imprime o que o GPG (ou SSH) informa: quem assinou e se a assinatura é válida. Sai com erro em commits não assinados ou mal assinados, então pode proteger deploys e merges.

Sinopse

git verify-commit [-v | --verbose] [--raw] <commit>...
[ ] opcional| ou<arg> valor a substituir... repetível--flag opção

Exemplos

Verificar o último commit

git verify-commit HEAD

Mostra o estado da assinatura.


Ver assinaturas no log

git log --show-signature -3

A mesma verificação para vários commits.

Exemplos de fluxos de trabalho

1
git config --global user.signingkey <key-id>

Escolher sua chave

2
git commit -S -m "Release"

Assinar o commit

3
git verify-commit HEAD

Conferi-lo

Solução de problemas

gpg: Can't check signature: No public key

Causa: Você não tem a chave pública de quem assinou

Importe-a: gpg --recv-keys <key-id>

Dicas e armadilhas

Boas práticas

  • ✓Assine commits e tags de versão; verifique-os na CI.

Erros comuns

  • ✗Esperar uma assinatura em commits feitos sem -S nem commit.gpgSign=true.

Perguntas frequentes

A:

Sim, desde o Git 2.34: git config gpg.format ssh.