Git 中的自动签名不起作用

Autosigning in Git not working

我正在尝试使用 git 和 gpg 设置自动签名到 Github 但它不起作用。

我已经做到了,当我按照下面的方式提交时,它会工作并正确地签署我的提交。

git commit -S

然而,尽管 运行 以下命令,我仍然无法自动签名。

git config --global commit.gpgsign
git config --global user.signingkey <MY KEY>

下面的 .gitconfig 的内容。

[user]
        email = nicholas.stocks@forcepoint.com
        signingKey = <MYKEY>
[commit]
        gpgsign = true
[gpg]
        program = gpg

我是不是漏掉了一步,还是你总是要输入 "git commit -S"?

谢谢

p.s。在关于是否应该自动签名的辩论中没有兴趣。只是接受我想要:)我只从一个受保护的虚拟机提交,保存在一个加密的笔记本电脑上。

解决方案:将 git 更新到最新版本。当我使用 CentOS 时,我遵循了这个 post,因为它使它变得又好又简单。 https://gist.github.com/mahamuniraviraj/ac4807c43694ec4d8d360ebf12e93df1

您可以检查以下内容:

  • git 版本 >= 2.2+
  • 你的 gpgsign 的外壳(应该是 gpgSign)- 如果这是问题我会感到惊讶,考虑到 git 配置长期以来不区分大小写

有关详细信息,请查看此 SO 问题:Is there a way to "autosign" commits in Git with a GPG key?

顺便说一句,选项“-s”是 "Signed off by",这意味着它不是用于签名的“-S”。也许这是你的问题?