使用git签名时没有密钥

时间:2014-12-14 18:11:02

标签: git gnupg

设置

$ gpg --list-keys
/home/pablo/.config/gnupg/pubring.gpg
-------------------------------------
pub   rsa4096/46F257F2 2014-09-16 [expires: 2015-09-16]
uid       [ultimate] Pablo Olmos de Aguilera Corradini (Personal) <mail@tld.com>

将信息放在gitconfig上:

[user]
    name = Pablo Olmos de Aguilera Corradini
    email = mail@tld.com
    signinkey = 46F257F2
[commit]
    gpgsign = true

我明白了:

gpg: skipped "Pablo Olmos de Aguilera Corradini <mail@tld.com>": 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时也会出现)。如果我从gitconfig删除所有内容,并尝试仅使用-S,我会收到同样的错误,这让我觉得git正在将我的用户名和电子邮件传递给gpg,而{{{ 1}}包含“评论”uid,因此未找到任何:

(Personal)

我不确定这是否是来自git的错误,或者它是预期的结果而我错过了一些东西:)。

PS.-我的猜测是,我可以创建另一个$ gpg --list-keys "Pablo Olmos de Aguilera Corradini <mail@tld.com>" gpg: error reading key: No public key 没有评论,它应该有用。

1 个答案:

答案 0 :(得分:10)

你的gitconfig中有一个拼写错误。应该是签名密钥,而不是 signinkey