Warm tip: This article is reproduced from serverfault.com, please click

其他-在Windows上签名git commit时出现“无秘密密钥”错误

(其他 - "No secret key" error when signing git commit on Windows)

发布于 2020-05-17 08:34:45

尝试签署提交时出现此错误:

git commit -S -m "test"
gpg: skipped "EF617ACA9EC3XXXX": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object

这是gpg --list-secret-keys --keyid-format LONG的输出

钥匙在那里

sec   rsa4096/EF617ACA9EC3XXXX 2020-05-17 [SC] [expires: 2022-05-17]
      AD68154000A712DCD161D826EF617ACA9EC3XXXX
uid                 [ultimate] name <email@gmail.com>

这是具有相同密钥的git config

user.signingkey=EF617ACA9EC3XXXX
user.email=email@gmail.com

知道有什么问题吗?

Questioner
giveall
Viewed
11
VonC 2020-05-17 17:26:13

首先检查git config gpg.program,看是否为gpggpg2(如此处所示)。

然后输入where gpgndwhere gpg2以检查GPG程序考虑使用哪个路径。

我建议设置gpg.programgpg2,然后将你的gpg.exe(假设其版本为2.x)复制gpg2.exe

这应该迫使Git / GPG充当gpg2。