You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何修改Git提交用户名?解决提交显示Your-Name的问题

解决Git提交用户名显示错误的问题

别急,这个问题超常见,咱们一步步来把它搞定!

第一步:先搞清楚当前的Git配置情况

Git的用户名/邮箱配置分三个层级(优先级从高到低:本地仓库 > 全局 > 系统),先检查到底是哪个层级的配置出了问题:

  • 检查全局配置:打开Git Bash,直接输入:
    git config --global user.name
    
    如果输出是Your-Name,说明全局配置是错的。
  • 检查当前仓库的本地配置:进入你的Android Studio项目目录,输入:
    git config user.name
    
    如果这里也输出Your-Name,说明这个仓库单独配置了错误的用户名。

第二步:修改配置,让未来的提交显示正确用户名

情况1:修改全局配置(所有新仓库都会生效)

如果全局配置是错的,执行下面的命令替换成你的真实信息:

git config --global user.name "你的真实GitHub用户名"
git config --global user.email "你的GitHub绑定邮箱"

(顺便改邮箱很重要,GitHub是靠邮箱和用户名关联的,不然可能还是识别不到你)

情况2:修改单个仓库的本地配置

如果只是某个仓库的本地配置覆盖了全局,进入该仓库目录后执行:

git config user.name "你的真实GitHub用户名"
git config user.email "你的GitHub绑定邮箱"

修改完后,再执行之前的检查命令,确认输出的是你的真实用户名和邮箱就ok了。

关于Android Studio的问题

Android Studio默认会读取Git的全局配置,你之前全局配置错了,所以提交时才会显示Your-Name。改完全局配置后,重启Android Studio应该就会生效。如果还是有问题,可以直接在AS里检查配置:

  • 打开File > Settings > Version Control > Git
  • 看看这里的用户名和邮箱是不是正确的,不对的话直接修改保存就行。

可选:修改已提交的历史记录(谨慎操作!)

如果只是想让未来的提交显示正确用户名,上面的步骤就足够了。但如果想把之前已经提交的历史里的Your-Name改成真实用户名,就需要修改Git历史。注意:

如果这个仓库已经推送到远程,并且有其他协作者一起开发,修改历史后需要强制推送,这会覆盖远程的历史记录,可能给其他人带来麻烦,一定要先和团队沟通!

修改历史的命令(在Git Bash里执行,替换掉占位符):

git filter-branch --env-filter '
OLD_NAME="Your-Name"
CORRECT_NAME="你的真实GitHub用户名"
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 --tags origin 'refs/heads/*'

内容的提问来源于stack exchange,提问作者ScrapeW

火山引擎 最新活动