今天,在学习使用私钥来签署一个标签时遇到了一个问题。如下,
gpg: skipped "xxx": secret key not available
gpg: signing failed: No secret key
error: gpg failed to sign the tag
error: unable to sign the tag
GnuPG也安装好了,也生成了gpg私钥。为什么还是一直出现这个问题呢?Google了一下,找到了解决方法。错误原因是:没有配置git使用的gpg程序的位置以及signingkey。
解决方法:在Git Bash终端配置gpg程序位置以及signingkey。
———————-配置gpg程序位置———————-
1.先找到GnuPG的安装目录下gpg2.exe的路径,默认是C:\Program Files (x86)\GNU\GnuPG。
2.配置gpg.program的位置。
$ git config –global gpg.program “C:\Program Files (x86)\GNU\GnuPG\gpg2.exe”
———————-配置signingkey———————-
1.查看sigingkey,在Windows命令终端下为gpg –list-keys。信息如下:
pub 2048R/F08971B8 2017-05-02
uid [ultimate] xxxx (GPG key for xxx) <xxx@qq.com>
sub 2048R/F08971B8 2017-05-02
signingkey为F08971B8。
2.在Git Bash中进行配置。
$ git config user.signingkey F08971B8
3.配置完上面这两步,问题就迎刃而解了。