Git 中 "用户名" 的显示与远程账号登录无关,而是由本地 Git 配置决定的。即使两台电脑使用同一个远程 Git 账号(比如同一个 GitHub 账号),如果本地配置的用户名不同,提交记录中就会显示不同的用户名。
原因说明
Git 的 user.name 和 user.email 是本地配置项,用于标识当前电脑上的提交者信息,与远程账号的登录凭证(如账号密码、SSH 密钥、Token 等)是完全独立的:
- 远程账号凭证(如 GitHub 账号):用于验证你对远程仓库的访问权限(推拉代码)。
- 本地
user.name/user.email:仅用于在提交记录中标记 "谁提交了这段代码",不影响登录权限。
因此,两台电脑若本地配置的 user.name 不同,即使登录同一个远程账号,提交时也会显示不同的用户名。
解决方法:统一两台电脑的本地 Git 配置
只需在两台电脑上手动设置相同的 user.name 和 user.email 即可,步骤如下:
1. 检查当前电脑的 Git 配置
在终端(或命令行)中执行以下命令,查看当前本地配置的用户名和邮箱:
bash
# 查看全局配置(对所有仓库生效)
git config --global user.name # 查看用户名
git config --global user.email # 查看邮箱
# (可选)查看当前仓库的局部配置(如果有,会覆盖全局配置)
git config user.name
git config user.email
2. 修改为统一的用户名和邮箱
如果两台电脑的配置不同,在每台电脑上执行以下命令,设置为相同的用户名和邮箱(替换为你的目标名称和邮箱):
bash
# 设置全局用户名(对所有仓库生效)
git config --global user.name "你的统一用户名"
# 设置全局邮箱(建议与远程账号绑定的邮箱一致,方便关联提交记录)
git config --global user.email "你的统一邮箱"
如果某个仓库有单独的局部配置(覆盖了全局配置),需要删除或修改局部配置:
bash
# 删除局部用户名配置(如果存在)
git config --unset user.name
# 删除局部邮箱配置(如果存在)
git config --unset user.email
注意事项
- 配置生效范围 :
--global表示全局配置(对当前用户的所有 Git 仓库生效);如果不加--global,则仅对当前仓库生效(局部配置)。建议使用全局配置统一。 - 历史提交记录 :修改配置后,新的提交会使用新的用户名,但之前的提交记录不会改变(Git 提交记录不可修改)。
- 与远程账号的关联 :若希望提交记录在远程仓库(如 GitHub)中正确关联到你的账号,建议
user.email与远程账号绑定的邮箱一致(否则远程仓库可能无法识别提交者)。