修改Git全局用户名后,GitHub提交显示名称仍错误求助
解决Git历史提交作者名错误问题
核心原因:你修改全局
user.name只对新提交生效,之前生成的提交记录里,作者信息是提交时的配置,不会自动更新。所以删远程仓库重推旧提交,还是会显示错误名称。先确认当前配置是否正确:
- 查看全局配置:
git config --global user.name(注意参数是--global,不是global,你之前的命令少了两个横杠) - 查看当前仓库的本地配置(若仓库有单独配置会覆盖全局):
git config user.name
确保两者都是正确的用户名。
- 查看全局配置:
若要修正历史所有提交的作者名,执行以下步骤:
- 在本地仓库根目录运行脚本(替换成你的实际信息):
git filter-branch --env-filter ' OLD_NAME="Entre Usename" CORRECT_NAME="Enter Username" CORRECT_EMAIL="你的GitHub绑定邮箱" if [ "$GIT_COMMITTER_NAME" = "$OLD_NAME" ] then export GIT_COMMITTER_NAME="$CORRECT_NAME" export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" fi if [ "$GIT_AUTHOR_NAME" = "$OLD_NAME" ] then export GIT_AUTHOR_NAME="$CORRECT_NAME" export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" fi ' --tag-name-filter cat -- --branches --tags - 脚本执行完成后,强制推送到远程仓库:
注:单人仓库可放心使用强制推送,多人协作仓库会覆盖他人提交,请勿操作。git push --force origin main
- 在本地仓库根目录运行脚本(替换成你的实际信息):
额外提醒:GitHub上的提交作者显示会关联你的账号,确保本地配置的邮箱是你GitHub账号绑定的邮箱,否则可能显示为未关联的匿名用户名。
内容的提问来源于stack exchange,提问作者Newtoweb
相关产品推荐
相关产品推荐

