Estoy interesado en firmar cada una de mis confirmaciones con mi clave GPG. Como uso magit para interactuar con git, me preguntaba si era posible decirle a magit que firmara cada confirmación (o alguna solución para lograrlo era factible, al menos).
13
git commit -S[<keyid>], --gpg-sign[=<keyid>]
. Hay al menos una razón para firmar cada compromiso: tener pruebas más sólidas de que el compromiso provino de la persona que crees que hizo. Firmar etiquetas solo le permite detectar cambios en el historial.Respuestas:
En Magit, las confirmaciones se crean utilizando la ventana emergente de confirmación ( c). Esa ventana emergente, por lo tanto, sería un buen lugar para comenzar a buscar soporte de gpg. Si haces eso, entonces encontrarás esto:
Entonces escriba = Sy seleccione una tecla. Para evitar tener que hacer eso cada vez que crea una confirmación, puede guardar el valor de ese argumento (y todos los demás argumentos establecidos actualmente) utilizando C-x C-s.
Es posible que aún tenga que escribir la frase de contraseña cada vez. Para evitar eso, debe iniciar un agente gpg y asegurarse de que Emacs lo sepa, por ejemplo, utilizando el
keychain
script de shell y elkeychain-environment
paquete Emacs.También vea y configure el
--show-signature
argumento en la ventana emergente de registro.fuente
transient
?Prueba esto en tu
$HOME/.gitconfig
o tu.git/config
Entonces solo comete como de costumbre.
fuente
=S
opción de magit establece la clave$HOME/.gitconfig
, por lo que es lo mismo para todos sus repositorios.