Я заинтересован в том, чтобы каждая из моих коммитов была подписана моим ключом GPG. Поскольку я использую magit для взаимодействия с git, мне было интересно, возможно ли сказать magit для подписания каждого коммита (или, по крайней мере, некоторый обходной путь для достижения этого был возможен).
13
git commit -S[<keyid>], --gpg-sign[=<keyid>]
. Существует по крайней мере одна причина подписывать каждый коммит: иметь более веские доказательства того, что коммит пришел от человека, который, как вы думаете, сделал. Подписание тегов позволяет только обнаруживать изменения в истории.Ответы:
В Magit коммиты создаются с помощью popup ( c). Поэтому это всплывающее окно будет хорошим местом для начала поиска поддержки gpg. Если вы это сделаете, то вы найдете это:
Поэтому введите = Sи выберите ключ. Чтобы избежать необходимости делать это каждый раз, когда вы создаете коммит, вы можете сохранить значение этого аргумента (и всех других текущих установленных аргументов), используя C-x C-s.
Возможно, вам все равно придется вводить парольную фразу каждый раз. Чтобы избежать этого, вы должны запустить gpg-agent и убедиться, что Emacs знает об этом, например, используя
keychain
скрипт оболочки иkeychain-environment
пакет Emacs.Также посмотрите и установите
--show-signature
аргумент во всплывающем окне регистрации.источник
transient
?Попробуйте это в вашем
$HOME/.gitconfig
или вашем.git/config
Тогда просто коммит как обычно.
источник
=S
опция Magit устанавливает ключ$HOME/.gitconfig
, так же как и для всех ваших репозиториев.