目前,我使用 2 封电子邮件(个人 + 公司)和一个 SSH 密钥登录 GitHub。但我使用相同的 GPG 密钥进行签名。两者都在我的 GitHub 电子邮件设置页面上进行了验证。
在第一个(个人)上,没问题,当我提交时,它显示为Verified。在第二个(公司)上,提交在 GitHub 中显示为未验证,并带有以下警告消息:
此签名中的电子邮件与提交者电子邮件不匹配。
$ gpg --list-secret-keys --keyid-format LONG
...
sec rsa4096/MY_GPG_KEY_ID 2020-05-19 [SC] [expires: 2022-05-19]
...
uid [ultimate] Furkan (Company key) <second_email@test.com>
uid [ultimate] Furkan <first_email@test.com>
在存储库中:
$ git log --show-signature
...
gpg: Good signature from "Furkan (Company key) <second_email@test.com>" [ultimate]
gpg: aka "Furkan <first_email@test.com>" [ultimate]
Author: MyGitHubNickname <second_email@test.com>
...
本地配置设置:
$ git config --local --list
...
user.name=Furkan
user.email=second_email@test.com
全局配置设置:
$ git config --global --list
...
user.name=MyGitHubNickname
user.email=second_email@test.com
user.signingkey=MY_40_CHARACTER_SIGNING_KEY
但没有奏效:
$ git commit -S --amend --reset-author
$ git push --force
我在这个弹出窗口的底部看到了 MY_GPG_KEY_ID键,完全一样。
如 GitHub Docs 中所述,我按照GPG 密钥指南中的疑难解答提交签名验证和使用经过验证的电子邮件地址进行操作,但仍然没有解决问题。