我正在尝试在与我关联的所有Github存储库中对我的提交进行签名。当存储库由我托管时,我可以签名,但当我只是一个贡献者时,我不能签名。每次我尝试这样做时,我都会收到下面提到的错误。
could not find identity matching specified user-id: <key id>
error: gpg failed to sign the data
fatal: failed to write commit object
下面是我的.gitconfig设置
[core]
editor = "C:\Users\user\AppData\Local\Programs\Microsoft VS Cod>
[user]
email = <my email id>
name = <my name>
signingkey = <key id>
[commit]
gpgsign = false
[gpg]
program = gpg
我们将非常感谢你的小小帮助。
Github与您在存储库的本地副本上签名的内容无关。从错误消息中,我假设您没有提供密钥id,所以git使用了您的committer标识,该标识在gpg密钥库中没有相应的密钥。可能CCD_ 1和CCD_ 2配置值设置不正确。
-
您可以检查值,如果全局配置没有被本地设置意外覆盖,请使用:
git config --show-origin user.name git config --show-origin user.email
这些值应与
gpg --list-secret-keys
输出中的键相匹配。 -
验证
gpg.program
和gpg.format
是否未设置。 - 如果设置了
user.signingKey
,请检查其是否正确 - 或者只是比较两个repo的
git config --list
的输出
尝试清除git缓存或从您的电脑中删除repo,然后重新克隆它,并尝试签署下一次提交。如果有效,请告诉我。