我已经通过设置 GPG 密钥将本地仓库中的 Git 提交显示为 "已验证",但为什么在 GitHub 上提交时(我正在 GitHub 上),我的提交不会显示为 "已验证"?它没有显示任何内容,表明 GitHub 将其视为未经验证的提交。这是预期的吗?还是我需要在 GitHub 上配置一些东西?
谢谢。
我已经通过设置 GPG 密钥将本地仓库中的 Git 提交显示为 "已验证",但为什么在 GitHub 上提交时(我正在 GitHub 上),我的提交不会显示为 "已验证"?它没有显示任何内容,表明 GitHub 将其视为未经验证的提交。这是预期的吗?还是我需要在 GitHub 上配置一些东西?
谢谢。
COMMITTER_DATE
。git rebase --committer-date-is-author-date <HASH>
来解决这个问题,这将重置GitHub文件修改日期为提交的日期时间,而不是今天/现在。您可以在https://github.com/hopeseekr/BashScripts/commits/fucked_up_gpg_verifications上自行查看。
报告的错误是什么?“没有用户与提交者电子邮件相关联。”这显然是荒谬的,因为所有提交都共享相同的电子邮件地址,并且它是该帐户上的主要地址。
你无法对通过GitHub网页界面创建的提交/标签进行签名。只有本地提交/标签可以被签名。
这是因为签名密钥由两部分组成——公钥和私钥。私钥绝不能离开你的计算机。
公钥可以加密数据,私钥可以解密数据,这样只有你才能读取加密数据。私钥可以签署数据,公钥验证签名,这样只有你才能使用你的密钥进行签署,但任何人都可以验证你的签名。
当你上传GPG密钥到GitHub时,你只上传公钥,因此GitHub只能验证已签名的提交/标签,但不能对它们进行签名。
gpg-agent
但超时时间很短 - 15分钟)。我只使用带签名的标签,这样我可以通过Web界面接受合并请求,而且我不必担心合并的签名问题。 - phd