如何解决GitHub提交显示[Unrecognized author]、提交关联错用户的问题
解决Git提交关联匿名用户问题
出现该提示的核心原因是本地Git配置的用户名、邮箱和你GitHub账号绑定的信息不一致,导致提交无法关联到你的账号,按以下步骤处理即可:
1. 配置本地Git身份信息
优先配置全局生效的身份信息,所有本地仓库都会默认使用该配置:
- 配置GitHub用户名:
git config --global user.name "这里替换成你的GitHub实际用户名" - 配置GitHub绑定邮箱:
git config --global user.email "这里替换成你的GitHub绑定的邮箱地址"
如果仅需要给当前使用的仓库单独配置身份,去掉命令中的--global参数执行即可。
2. 处理已生成的匿名提交
修改配置仅对之后新生成的提交生效,之前已经提交的记录需要单独处理:
情况A:匿名提交仅存在本地,还未执行git push
- 如果只有最近1次提交是匿名状态,执行命令修改提交作者即可:
git commit --amend --reset-author --no-edit - 如果有多条历史匿名提交,比如要修改最近3次的提交记录,执行:
git rebase -i HEAD~3 -x "git commit --amend --reset-author --no-edit"
修改完成后直接执行git push即可,不需要重新执行git commit。
情况B:匿名提交已经推送到GitHub
修改完本地的历史提交作者后,需要执行强制推送同步到远端:git push --force-with-lease
修改配置后的操作说明
- 还未commit当前的代码改动:后续正常走
git add→git commit→git push流程即可,新的提交会自动关联你的GitHub账号 - 已经commit但未push:只需执行上面的amend/rebase命令修改历史提交作者,不需要重新commit,修改完成后直接push就行
- 已经push了匿名提交:修改完本地历史记录后必须执行push命令才能同步更新远端的提交信息
内容的提问来源于stack exchange,提问作者Ayush Singh Bhadoria
相关产品推荐
相关产品推荐

