VS Code GUI提交Git报gpg签名失败 终端git commit可正常执行
VS Code GUI提交Git报GPG签名错误解决
问题现象
- 已在VS Code中配置指向Azure DevOps的远程仓库,通过图形界面可以正常暂存文件
- 点击界面上的提交对勾按钮发起提交时,返回以下报错:
No secret key gpg: signing failed: No secret key error: gpg failed to sign the data fatal: failed to write commit object
- 按下快捷键
Ctrl+~打开VS Code内置终端,执行git commit -m "my message"命令可以正常完成提交 - 检索现有公开的GPG相关报错解决方案,未找到适配该场景的有效处理路径
解决步骤
该问题是VS Code自带的Git配置项独立于本地终端Git配置导致的,处理流程如下:
- 打开VS Code设置页面,在设置搜索框输入
gpg筛选相关配置 - 定位到Git: Enable Commit Signing配置项,该项被勾选时,VS Code对GUI触发的提交操作会强制要求GPG签名,且不会加载终端环境下的GPG密钥配置,因此触发无密钥报错
- 取消该配置项的勾选状态,回到源码管理面板即可通过GUI提交按钮正常完成提交操作
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

