Ich bin daran interessiert, dass jedes meiner Commits mit meinem GPG-Schlüssel signiert wird. Da ich magit als Schnittstelle zu git verwende, habe ich mich gefragt, ob es möglich ist, magit zu sagen, dass jeder Commit unterschrieben werden soll (oder zumindest eine Umgehung, um dies zu erreichen).
13
git commit -S[<keyid>], --gpg-sign[=<keyid>]
. Es gibt mindestens einen Grund, die einzelnen Commits zu unterzeichnen: Sie müssen nachweisen, dass das Commit von der Person stammt, von der Sie glauben, dass sie es getan hat. Durch das Signieren von Tags können Sie nur Verlaufsänderungen erkennen.Antworten:
In Magit werden Commits mit dem Commit-Popup ( c) erstellt. Dieses Popup ist daher ein guter Ort, um nach Unterstützung für gpg zu suchen. Wenn Sie das tun, werden Sie folgendes finden:
Also tippe = Sund wähle einen Schlüssel. Um dies nicht jedes Mal tun zu müssen, wenn Sie ein Commit erstellen, können Sie den Wert dieses Arguments (und aller anderen aktuell gesetzten Argumente) mit speichern C-x C-s.
Möglicherweise müssen Sie die Passphrase noch jedes Mal eingeben. Um dies zu vermeiden, sollten Sie einen gpg-Agenten starten und sicherstellen, dass Emacs darüber informiert ist, z. B. mithilfe des
keychain
Shell-Skripts und deskeychain-environment
Emacs-Pakets.Sehen Sie sich auch das
--show-signature
Argument im Protokollierungs-Popup an und legen Sie es fest .quelle
transient
?Versuchen Sie dies in Ihrem
$HOME/.gitconfig
oder Ihrem.git/config
Dann legen Sie einfach wie gewohnt fest.
quelle
=S
Option von magit den Schlüssel einstellt$HOME/.gitconfig
, also für alle Ihre Repositories gleich.