我正在尝试在OS X Mojave上启用提交签名。
git commit -S -am "Test"
错误是:
error: gpg failed to sign the data
fatal: failed to write commit object
我尝试过的事情:
gpg
运行正常(请参见下文),未安装gpg1
或gpg2
pinentry
gpg2 --clearsign
运行正常(为文件生成一个新的.asc文件,为纯文本输出文本)我调查并尝试了所有选项的问题:
我在做什么错了?
答案 0 :(得分:3)
我也有这个问题。我找到了一个很好的解决方案。 提交前,只需尝试对文件签名。
$ touch a.txt
$ gpg --sign a.txt
然后,操作系统将允许您输入密码。 如果此步骤确定,现在您可以通过正确签名来提交。
答案 1 :(得分:0)
当然,在我发布此问题之后,我找到了解决方法。
所以我的问题是我遵循以下文档:https://help.github.com/en/articles/telling-git-about-your-signing-key
当我的Git <2.19并且没有正确的X.509密钥时,同时设置GPG
和smimesign
。
所以我刚刚从全局smimesign
中删除了带有~/.gitconfig
的部分
答案 2 :(得分:0)
我刚刚将密钥ID添加到了全局配置
列出所有键:
gpg --list-keys
选择添加到github的那个并进行设置。
git config --global user.signingkey [key ID]