未经验证意味着您的签名是错误的。
如果您提交时使用了错误的电子邮件/密码,如果您尚未在 GitHub 上(在该帐户上)上传签名,或者上传错误,则可能会出现这种情况。
我认为这是因为您使用主帐户的签名与其他(可能不存在)帐户进行提交(可能是因为您激活了commit.autosign
).
您的签名必须包含(提交的)帐户的电子邮件地址,并且该帐户必须将签名(带有电子邮件)上传到 GitHub。
来自不存在用户的提交也无法在 GitHub 上验证。
如果你想验证现有的提交,你必须覆盖 them.
这涉及强制推送,迫使其他人重新克隆存储库。因此,您不应该强行推送掌握。
您可以通过重新提交来做到这一点:
git rebase -i <commit before first problematic commit>
之后,您的文本编辑器将打开。改变每一个pick
to edit
.
之后,您必须使用以下命令重新提交每次提交:
git commit --author="<name> <<E-Mail(once in brackets, see example)>>" -S --amend --no-edit
git rebase --continue
最后,你必须通过执行以下操作来覆盖遥控器
git push --force-with-lease
这比git push -f
但你也应该小心。
如果有人知道自动执行此操作的方法,请在评论中告诉我。
提交命令示例:
git commit --author="testuser <[email protected] /cdn-cgi/l/email-protection>" -S --amend --no-edit
您也可以使用git filter-branch
命令。
See this https://www.git-tower.com/learn/git/faq/change-author-name-email了解详情。