同一笔记本双用户使用GitHub:提交代码显示他人用户名求助
解决Git提交显示他人用户名的问题
先检查当前Git用户配置
打开终端,运行以下命令查看当前全局Git用户信息:
git config --global user.name git config --global user.email
如果输出是你姐姐的用户名和邮箱,问题就出在全局配置上。
方案1:修改全局Git配置(所有仓库通用)
如果希望这台电脑上的所有Git仓库默认使用你的信息,执行:
git config --global user.name "你的GitHub用户名" git config --global user.email "你的GitHub绑定邮箱"
方案2:仅修改当前React项目的配置(不影响姐姐的仓库)
如果不想改动全局配置,只针对这个React项目单独设置:
- 切换到你的React项目目录下
- 运行以下命令:
git config user.name "你的GitHub用户名" git config user.email "你的GitHub绑定邮箱"
注意这里没有--global参数,只会对当前仓库生效。
可选:修正已提交的历史记录
如果已经推送到GitHub的旧提交也想改成你的名字(仅在仓库只有你使用或提前告知协作者的情况下操作,会重写历史):
git filter-branch --env-filter ' OLD_NAME="你姐姐的用户名" OLD_EMAIL="你姐姐的邮箱" NEW_NAME="你的用户名" NEW_EMAIL="你的邮箱" if [ "$GIT_COMMITTER_NAME" = "$OLD_NAME" ] && [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] then export GIT_COMMITTER_NAME="$NEW_NAME" export GIT_COMMITTER_EMAIL="$NEW_EMAIL" fi if [ "$GIT_AUTHOR_NAME" = "$OLD_NAME" ] && [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] then export GIT_AUTHOR_NAME="$NEW_NAME" export GIT_AUTHOR_EMAIL="$NEW_EMAIL" fi ' --tag-name-filter cat -- --branches --tags
执行完后强制推送到远程仓库:
git push --force origin main
验证配置是否生效
修改完成后,再次运行以下命令确认:
# 查看全局配置 git config --global user.name git config --global user.email # 查看当前仓库配置(进入项目目录后) git config user.name git config user.email
确保输出的是你的用户名和邮箱,之后再提交推送,GitHub上就会显示你的账号信息了。
内容的提问来源于stack exchange,提问作者Dilip Gawade
相关产品推荐
相关产品推荐

