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

GitHub个人访问令牌(PAT)无法作为提交签名,合并PR失败求助

用简单方式替代GPG完成GitHub提交签名(不用折腾复杂密钥)

首先明确:PAT是用来做仓库拉取/推送身份认证的,没法直接用来签名提交,但有两个比GPG简单得多的方法能满足GitHub的提交签名要求:

方案1:用SSH密钥签名提交(推荐,一次配置长期可用)

  • 先检查本地是否有现成的SSH密钥:
    ls ~/.ssh/id_ed25519.pub
    
    要是没有输出,就生成一个新密钥(一路回车默认配置即可,无需设置密码):
    ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱"
    
  • 将SSH公钥添加到GitHub账户,注意选择签名密钥类型:
    1. 复制公钥内容:cat ~/.ssh/id_ed25519.pub
    2. 登录GitHub,进入「Settings → SSH and GPG keys」,点击「New SSH key」
    3. 标题随便填写,粘贴公钥内容,在Key type选项中选择「Signing key」,最后保存
  • 配置Git使用这个SSH密钥自动签名所有提交:
    git config --global user.signingkey ~/.ssh/id_ed25519
    git config --global commit.gpgsign true
    git config --global gpg.format ssh
    
  • 测试验证:修改任意文件后提交并推送到仓库,去GitHub查看提交记录,会显示「Verified」标识,此时PR即可正常合并

方案2:用GitHub CLI提交(无需本地密钥配置)

如果不想配置本地密钥,可直接用GitHub CLI完成带签名的提交:

  • 安装GitHub CLI:Ubuntu用apt install gh,Mac用brew install gh,Windows可通过官网下载或Chocolatey安装
  • 登录GitHub CLI:
    gh auth login
    
    按照提示选择HTTPS方式,输入你的PAT完成登录
  • 提交代码时,用gh commit替代原生git commit命令:
    git add .
    gh commit -m "你的提交信息"
    git push
    
    这种方式生成的提交会自动被GitHub标记为已验证,完全满足PR的签名要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:27:21