已上传GPG密钥且用git commit -S签名提交仍提示未上传公钥如何解决
Git提交签名Verified状态排查配置步骤
- 核对提交邮箱与GPG密钥绑定邮箱一致性
运行git config --global user.email查看本地配置的提交邮箱,必须和GPG密钥中关联的邮箱、GitHub账户绑定的邮箱完全匹配。如果开启了GitHub邮箱隐私保护,需要将GitHub提供的noreply邮箱同时配置到本地git的user.email和GPG密钥的身份信息中。 - 确认上传到GitHub的GPG公钥完整
运行gpg --armor --export 你的主密钥ID导出完整公钥,将输出的全部内容(包括开头-----BEGIN PGP PUBLIC KEY BLOCK-----和结尾-----END PGP PUBLIC KEY BLOCK-----)重新粘贴到GitHub的GPG密钥添加框中,避免漏拷子密钥相关的公钥内容。 - 校验Git签名配置
运行以下命令确认签名配置正确:# 确认签名密钥配置匹配 git config --global user.signingkey # 若使用Windows系统,需显式指定GPG程序路径(替换为你本地的gpg.exe实际路径) git config --global gpg.program "C:\Program Files\GnuPG\bin\gpg.exe" # 可选配置:开启所有提交自动签名,避免每次都加-S参数 git config --global commit.gpgsign true - 验证新提交状态
上述配置完成后新生成的提交才会触发校验,配置调整前的历史提交不会自动更新为Verified状态。新提交后如果仍提示异常,可运行git log --show-signature查看本地提交的签名信息是否正常,确认本地签名无报错后再推送至GitHub。
内容的提问来源于stack exchange,提问作者WEFX
相关产品推荐
相关产品推荐

