Estou interessado em ter cada um dos meus commits assinados com a minha chave GPG. Desde que eu uso o magit para fazer interface com o git, fiquei pensando se era possível dizer ao magit para assinar cada confirmação (ou alguma solução alternativa para conseguir isso era possível, pelo menos).
13
git commit -S[<keyid>], --gpg-sign[=<keyid>]
. Há pelo menos um motivo para assinar cada confirmação: ter uma evidência mais forte de que a confirmação veio da pessoa que você acha que foi. As tags de assinatura apenas permitem detectar alterações no histórico.Respostas:
No Magit, as confirmações são criadas usando o popup de confirmação ( c). Esse pop-up seria, portanto, um bom lugar para começar a procurar suporte para gpg. Se você fizer isso, encontrará o seguinte:
Então digite = Se selecione uma chave. Para evitar fazer isso toda vez que você cria uma confirmação, você pode salvar o valor desse argumento (e todos os outros argumentos atualmente definidos) usando C-x C-s.
Você ainda pode ter que digitar a senha sempre. Para evitar isso, você deve iniciar um gpg-agent e garantir que o Emacs saiba disso, por exemplo, usando o
keychain
script shell e okeychain-environment
pacote Emacs.Veja também e defina o
--show-signature
argumento no pop-up de log.fonte
transient
?Tente isso no seu
$HOME/.gitconfig
ou no seu.git/config
Então apenas cometa como de costume.
fonte
=S
opção do magit define a chave$HOME/.gitconfig
, o mesmo para todos os seus repositórios.