Git无法删除以前配置的用户信息 user.email
最近一次提交源码的时候,提示提交失败。检查了一下错误提示发现是用户的邮箱写错了的。 然后我在home下
- 用
git config --unset --global user.email "user.name@email.com"
命令删除了git之前配置的信息(执行上条命令后并未用命令检查已存在的user.email), - 添加正确的邮箱,并且用
git config --list
检查无误 - 进入项目目录再次提交,提交失败。邮箱错误。
用git config --list
查看配置信息发现之前删除的user.email又回来了(其实是没删除到,因为在home目录根本没有错误的邮箱)!而且同时存在两个!此时再尝试用git config --unset --global user.email "user@email"
删除user.email却删除不掉了!
如此几番过后决定去项目目录里找寻一下线索。
然后在项目目录的./git/config中发现了之前设置的错误的邮箱:
[user]
user.email=user.name@email.com
然后我在进入项目目录后,再git config –unset user.email “user@email”(注意:没有–global,错误的邮箱是项目中的不是全局的),然后–list检查已配置的信息,错误的邮箱不见了。 再次提交,成功!
原因分析: 第一次“修改“user.email”的后查看结果没有看到错误的邮箱是正常的,因为当时我在home目录下,这里的信息配置是真正global的,并没有读取到项目里的配置信息。 但是在项目目录下错误的邮箱又出来了,是从项目自己的配置文件中读出来的,错误的邮箱就是保存在这里!此时再–unset就可以把错误的邮箱删除掉了。