我正在尝试在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文件,输出纯文本的文本)我调查的问题并尝试了每个选项:
我究竟做错了什么?
我刚刚将密钥ID添加到全局配置中
列出所有键:
gpg --list-keys
选择您添加到github的那个并进行设置。
git config --global user.signingkey [public key ID]
嘿,当然,在我发布这个问题之后,我找到了解决方案。
所以我的问题是我遵循了这个文档:https://help.github.com/en/articles/telling-git-about-your-signing-key
并设置GPG
和smimesign
,当我有Git <2.19并没有正确的X.509键。
所以我刚从全球smimesign
中删除了~/.gitconfig
的部分
我也有这个问题。我找到了一个好的解决方案在提交之前尝试签名文件。
$ touch a.txt
$ gpg --sign a.txt
然后,操作系统将允许您输入密码。如果此步骤正常,现在您可以通过正确签名来提交。