Подписание коммитов в git использует неправильный подраздел

У меня есть несколько подразделов подписи на моем основном ключе PGP, так что у меня есть один для моего ноутбука и один для моего рабочего стола. Однако похоже, что оба компьютера пытаются использовать ключ для моего ноутбука, который был создан позже, чем ключ для моего рабочего стола. У меня есть user.signingkey, установленный для соответствующих подразделов как на моем ноутбуке, так и на рабочем столе, но git по-прежнему использует один для моего ноутбука.


person John Leuenhagen    schedule 20.09.2017    source источник


Ответы (2)


Решение. К KEYID необходимо добавить !, чтобы использовать определенный подраздел.

eg.

git config --global user.signingkey A451BEC123\!

Большое спасибо Todd Zullinger за предоставление решения в списке рассылки Git< /а>.

Дополнительная информация

person Android Control    schedule 22.06.2018
comment
@ Sebi2020 - ссылка указывает на окончательное решение. Вы следовали этому? - person Android Control; 08.02.2019
comment
да. Это была еще одна проблема с моей конфигурацией. Git использовал неправильную версию gpg. - person Sebi2020; 09.02.2019
comment
@ Sebi2020 - А... Вы исправили это так git config gpg.program gpg2, как указано по ссылке ниже? stackoverflow.com/questions/38366490/ - person Android Control; 25.02.2019
comment
да, я исправил это, установив правильную программу с помощью git config - person Sebi2020; 26.02.2019

Дважды проверьте, что вы устанавливаете глобальную конфигурацию git, а не конфигурацию репо, и убедитесь, что вы предоставляете ключ подписи, а не ключ шифрования.

Кроме того, вывод git verify-commit HEAD покажет идентификатор главного ключа вместо подключа, что может ввести в заблуждение. Чтобы убедиться, что коммит подписан подразделом, создайте тестовый подраздел подписи и подпишите с его помощью коммит и отменить подраздел до и после проверки подписи с помощью git verify-commit HEAD.

Отобразите идентификатор ключей на машине и скопируйте нужный идентификатор:

gpg --list-secret-keys --keyid-format LONG

Настройте конфигурацию git для использования указанного ключа:

git config --global user.signingkey A451BEC123
person Joseph Wright    schedule 07.11.2017