You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git提交报错:需配置user.signingkey或gpg.ssh.defaultKeyCommand求助

解决Git提交时的SSH签名配置错误

问题根源

该错误是因为Git启用了提交签名验证,但未正确配置用于SSH签名的密钥参数。

解决步骤

1. 确认当前签名相关配置

先检查Git的签名格式和提交签名状态:

git config --list | grep -E '(commit.gpgsign|gpg.format)'

如果输出里gpg.format不是ssh,或者commit.gpgsign为true但未配置密钥,就需要调整。

2. 设置签名格式为SSH

全局配置签名格式(对所有仓库生效):

git config --global gpg.format ssh

3. 配置SSH签名密钥

两种方式任选其一:

  • 直接指定公钥路径:将路径替换为你本地SSH公钥的实际位置(比如id_ed25519.pub或id_rsa.pub)
    git config --global user.signingkey ~/.ssh/id_ed25519.pub
    
    Windows用户注意使用Git Bash路径格式,例如/c/Users/你的用户名/.ssh/id_ed25519.pub
  • 自动获取可用密钥:让Git通过ssh-add列出的密钥自动选择
    git config --global gpg.ssh.defaultKeyCommand "ssh-add -L"
    

4. 确保提交签名已启用

如果之前未开启提交签名,执行以下命令全局启用:

git config --global commit.gpgsign true

5. 验证配置

执行命令确认参数已正确设置:

git config --list | grep -E '(user.signingkey|gpg.ssh.defaultKeyCommand|gpg.format|commit.gpgsign)'

额外检查

  • 确认本地SSH公钥内容与GitHub账号中添加的公钥完全一致
  • 若全局配置无效,可进入目标仓库目录,去掉--global参数执行上述命令,设置仓库级配置

内容的提问来源于stack exchange,提问作者Angelfirenze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:05:27