【问题标题】:Git commits unverified but should be verifiedGit 提交未经验证但应经过验证
【发布时间】:2021-01-21 20:55:12
【问题描述】:

我的提交目前以“未验证”的形式出现,但它们应设置为“已验证”。

我已经按照this guide 创建了我的 GPG 密钥,当我执行 gpg --list-secret-keys --keyid-format LONG 时,我得到以下信息:

sec   rsa4096/SOME_KEY 2019-10-24 [SC]
      SOME_OTHER_LONGER_KEY
uid                 [ultimate] Ryan Wood <myemail@address.com>
ssb   rsa4096/SOME_OTHER_KEY 2019-10-24 [E]

我按照here 的说明使用gpg --armor --export SOME_KEY 生成公钥并将其放在GitHub 上。此外,我按照this guide 设置了git config --global commit.gpgsign true,并在我最后一次提交时提示我输入密码,我输入正确。我还验证了我提供给 GPG 的电子邮件和我在 GitHub 上列出的电子邮件是相同的。最后,我根据this question 中提供的答案通过git config --global user.signingkey SOME_KEY 在git 中设置我的签名密钥。但是,我的提交未经验证。

我还需要在这里做些什么吗?或者该过程是否需要一定的时间才能使提交显示为已验证?

【问题讨论】:

  • 在 git 的全局配置和 repo 配置中为您的用户设置的电子邮件 ID 是什么?它们与您用于 GPG 密钥的电子邮件相同吗?
  • 我不确定如何访问 repo 配置,但全局配置与我分配给键的值相匹配,myemail@address.com

标签: git github


【解决方案1】:

我遇到了类似的问题,因为我错误地安装和配置了smimesign,尽管它不是 GPG 密钥指南的一部分。

我的解决方法如下:

brew uninstall smimesign
git config --global --unset gpg.format
git config --global --unset gpg.x509.program
git config --global user.signingkey [KEY HASH]

[KEY HASH]gpg 列出的位置:

$ gpg --list-secret-keys --keyid-format LONG
/Users/stig/.gnupg/pubring.kbx
------------------------------
sec   rsa4096/...
      [KEY HASH]
uid                 [ultimate] Stig (comment) <stig@example.com>
ssb   rsa4096/...

在下一次提交时,已验证符号立即显示。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。看看你的全局配置设置git config --list

    并输入正确的电子邮件 - git config --global user.email &lt;email&gt;

    【讨论】:

    • gpg 密钥电子邮件地址和我的 git 电子邮件地址不匹配是我的问题。
    • 这里我假设 git 将使用电子邮件进行签名,它用于存储提交作者的详细信息,但似乎情况并非如此。如您所述,我必须通过全球电子邮件偏好进行更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多