You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Git提交签名时提示无法加载GPG公钥的问题调试求助

Git提交签名时提示无法加载GPG公钥的问题调试求助

看起来你已经走完了GPG密钥生成、关联GitHub的流程,但在提交签名时遇到了找不到公钥的报错,我来帮你一步步排查:

  • 先手动验证GPG密钥的可用性
    先绕开Git,直接用GPG测试你的密钥能不能正常使用,在终端执行:

    echo "测试签名" | gpg --sign --default-key CMC8D2G96B994245
    

    如果这一步报错,说明你的GPG密钥本身有问题,或者密钥ID输入有误(虽然你是从--list-secret-keys复制的,但可以再核对一下输出里的sec行后面的ID)。如果能成功生成签名文件(会出现test.gpg),那问题出在Git和GPG的联动上。

  • 检查Git使用的GPG程序路径
    Mac系统可能同时存在多个GPG版本(比如系统自带的和Homebrew安装的),Git可能调用了和你生成密钥不同的GPG程序。先查看你当前使用的GPG路径:

    which gpg
    

    然后把Git的gpg.program配置成这个路径:

    git config --global gpg.program $(which gpg)
    
  • 确认Git的签名配置是否完整
    除了设置user.signingkey,还要确保开启了提交签名的全局配置:

    git config --global commit.gpgsign true
    

    另外,你可以查看当前的Git配置,确认signingkey是否正确设置:

    git config --global --list | grep signingkey
    
  • 尝试使用完整的密钥指纹
    如果上面的步骤都没解决,可以试试用GPG密钥的完整指纹(就是sec行下面那串长字符:07A38FD8F66EBD7597K3ID51CMC8D2G96B994839)来设置signingkey:

    git config --global user.signingkey 07A38FD8F66EBD7597K3ID51CMC8D2G96B994839
    

    有时候Git对短ID的识别会出问题,用完整指纹更可靠。

备注:内容来源于stack exchange,提问作者xanld

火山引擎 最新活动