Kleopatra与MinGW64中gpg冲突

在代码提交时候,需要对commit进行签名。

若提交代码时报错:
gpg: skipped “3BECCAC113E09805”: No secret key

  • 1一般会下载Git(自带Git Bash和MinGW64),可以在里面用命令行去生成公私密钥,然后告诉Github Desktop使用哪个签名去提交。

  • 2如果使用了Kleopatra(GnuPG)的话,会出现图形化界面,方便管理公私密钥,他和上面Git中自带的是冲突的,也就是说Github Desktop会调用系统的Git,然后根据.gitconfig文件去选择对应的gpg.exe,利用对应的gpg.exe找到对应的密钥ID,进行签名。

解决:

所以在Git Bash中创建密钥,一般是调用了1中的MinGW64生成的,而Kleopatra是由GnuPG生成的,因此两边的密钥不互通。具体就是检查gitconfig中的路径,或者使用命令指定:

# 在Git中设置gpg的启动路径
git config --global gpg.program "D:\Softwares\GnuPG\bin\gpg.exe"

指定后,如果使用的是Kleopatra,就不用去Git Bash中 gpg --list-keys 列出所有的 GPG 密钥了,忽略另一个就好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kinnisoy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值