【保姆级】Git配置用户名和邮箱(全局/局部)解决提交记录不识别、贡献图不亮问题

前言

很多新手安装完 Git 直接拉代码、提代码,最后出现一堆离谱问题:

  • GitHub/Gitee 提交不统计贡献度,贡献图一片灰
  • 提交记录显示 unknown 陌生用户
  • 多人共用电脑,仓库作者信息混乱
  • 推送代码时报错、身份不匹配

90% 的原因都是:没有正确配置 Git 的 user.name 和 user.email

今天一文彻底搞定 Git 用户身份配置,包含全局配置、单项目局部配置、查看、修改、删除全套操作,小白直接抄作业!

适合人群:Git 新手、刚装完 Git、提交记录不生效、贡献墙不亮的开发者


一、核心原理(必看)

Git 每次 commit 提交都会永久记录作者用户名+邮箱

GitHub / Gitee / GitLab 是通过邮箱匹配账号的:

✅ 邮箱和平台注册邮箱一致 → 识别为本人、统计贡献、点亮绿墙

❌ 邮箱不一致 → 识别为陌生人、不统计贡献、提交记录不归属


二、全局配置(推荐✅ 99% 开发者使用)

全局配置:本机所有 Git 项目统一生效,一次配置、永久使用。

打开 Git Bash,执行以下两条命令,替换为自己的账号信息即可:

bash 复制代码
git config --global user.name "你的Git用户名"
git config --global user.email "你的GitHub/Gitee注册邮箱"

参数解释

  • --global:全局参数,对电脑所有 Git 仓库生效
  • user.name:自定义 Git 提交显示用户名(任意合法昵称)
  • user.email:必须和 Gitee/GitHub 注册邮箱一致

三、单项目局部配置(进阶)

适用场景:一台电脑切换多个 Git 账号(公司账号+个人账号)。

进入具体项目根目录 ,不带 --global,仅当前项目生效:

bash 复制代码
# 当前项目单独配置用户名邮箱
git config user.name "你的项目用户名"
git config user.email "你的项目专用邮箱"

优先级:局部配置 > 全局配置


四、验证配置是否成功

配置完成后,一定要校验,避免输错!

bash 复制代码
# 查看全局用户名
git config --global user.name

# 查看全局邮箱
git config --global user.email

正确输出:

plain 复制代码
你的Git用户名
你的GitHub/Gitee注册邮箱

查看全部 Git 配置:

bash 复制代码
git config --list

五、修改 / 删除配置

1. 修改配置

直接重新执行配置命令即可覆盖旧配置,无需删除。

2. 删除全局配置

bash 复制代码
git config --global --unset user.name
git config --global --unset user.email

3. 删除当前项目局部配置

bash 复制代码
git config --unset user.name
git config --unset user.email

六、常见踩坑总结(高频问题)

Q1:配置后之前的提交记录会变吗?

不会。新配置只对后续新提交生效,历史提交作者信息不变。

Q2:贡献图不亮、不统计贡献?

99% 是邮箱不匹配!务必保证 git config 邮箱 == 平台账号邮箱。

Q3:用户名可以随便写吗?

可以,用户名仅展示用,邮箱必须精准匹配


七、完整一键配置总结

新手直接全套复制粘贴:

bash 复制代码
# 全局身份配置(自行替换个人信息)
git config --global user.name "你的Git用户名"
git config --global user.email "你的GitHub/Gitee注册邮箱"

# 校验配置
git config --global user.name
git config --global user.email

写在最后

Git 用户名邮箱配置是入门必配操作,看似简单,却是绝大多数人踩坑的重灾区。配置正确后,代码提交归属、贡献统计、远程仓库协作都会完全正常。

后续会更新 Git 免密配置、多账号切换、SSH 配置、历史提交修改等教程,需要的可以点赞+关注

有问题评论区留言,秒回解答!

相关推荐
小锋学长生活大爆炸4 小时前
【福利】最新免费领取云服务器和虚拟主机攻略
网络·github
码流怪侠6 小时前
GitHub 2026年7月热门项目全景盘点:Agent Skills 生态炸裂,开源世界正在重写规则
程序员·github·agent
我叫黑大帅6 小时前
git 的 NFD 与 NFC 有什么区别?为什么我有个文件在 NFC 中间不会被当成改动,在 NFD 中就会当成改动
git·面试·github
呆萌很9 小时前
Git push 408 超时、远程断开解决办法
git
Lesile10 小时前
Hands-on Git experience
git
Co_Hui11 小时前
Git 基本使用
git
cooldream200911 小时前
AI 时代,Git 应该怎么学
人工智能·git
DogDaoDao11 小时前
【GitHub】WorldMonitor:一个工程极致主义的实时全球情报仪表盘深度解析
python·程序员·架构·github·go语言·worldmonitor·实时全球情报
其实防守也摸鱼12 小时前
GitHub开源项目破圈方法论:从技术自嗨到生态共赢
服务器·数据库·学习·开源·github·命令行·linux系统
析数塔13 小时前
SleeperGem 技术拆解:恶意 gem 是怎么躲过 CI/CD 扫描的
安全·ci/cd·github