我在一台安装了 Gpg4win 和 Kleopatra 的 Windows 10 机器上,以及最新版本的 git。在 Kleopatra 中,我加载了两个 OpenPGP 证书,例如针对这些电子邮件:
[email protected]
使用 Key-IDAAABBBCC
[email protected]
使用 Key-IDFFF00011
我有一个全球的git config 使用以下设置:
commit.gpgsign=true
[email protected]
但我有一个存储库git config 使用不同的、更具体的电子邮件设置:
但是当我尝试在该存储库中提交某些内容时,我得到了pinentry-qt弹出以下消息:
请输入密码来解锁 OpenPGP 密钥:“John Doe”4096 位 RSA 密钥,ID 88888888AAABBBCC,创建于 2018-04-10。
有什么方法可以让 git 询问我使用的电子邮件的特定证书吗?如果失败了,是否有办法为每个存储库配置 gpgsign 的 ID?
答案1
经过进一步搜索,我发现了几个与 GPG 相关的git config
选项,包括一个完全按照我想要的方式做的:
git config user.signingKey FFF00011
Key-ID
请注意,这将配置一个参数,该参数将被传递给 GPG 程序(在本例中为 Kleopatra),如果您使用Kleopatra 向您显示的要使用的证书,该参数就会被正确获取。