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

Git与GPG自动提交签名失效问题排查求助

Git全局自动GPG签名不生效的解决方案

你遇到的问题我之前也碰到过——手动用git commit -S能正常签名提交,但明明全局配置了commit.gpgsign = true,自动签名就是不生效,而且你的.gitconfig配置看起来完全没问题。

其实核心原因是你当前的Git版本太旧了,CentOS默认仓库里的Git版本通常比较滞后,而全局自动签名的commit.gpgsign配置在较老的Git版本里可能存在兼容性问题,甚至不支持完整的自动签名逻辑。

解决步骤(CentOS环境)

要解决这个问题,你需要把Git更新到最新稳定版,具体操作如下:

  • 先卸载旧版本的Git:
    sudo yum remove git -y
    
  • 安装编译Git所需的依赖包:
    sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y
    
  • 下载最新版Git的源码包(可前往Git官网确认最新版本号,示例使用2.45.1版本):
    cd /usr/src
    sudo wget https://www.kernel.org/pub/software/scm/git/git-2.45.1.tar.gz
    
  • 解压源码包:
    sudo tar xzf git-2.45.1.tar.gz
    
  • 编译并安装Git:
    cd git-2.45.1
    sudo make prefix=/usr/local/git all
    sudo make prefix=/usr/local/git install
    
  • 配置环境变量,让系统优先调用新安装的Git:
    echo "export PATH=/usr/local/git/bin:$PATH" >> ~/.bashrc
    source ~/.bashrc
    
  • 验证Git版本是否更新成功:
    git --version
    

更新完成后,你再尝试提交代码,不需要加-S参数,Git就会自动用你配置的GPG密钥签名提交了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:59:06