问题:
- 今天使用git push提交的后,提示用户名和邮箱不符合规范,原因就是京东git代码仓库本身对git用户的用户名和邮箱有安全认证:(必须使用京东合法的用户名和密码)
尝试:
- 关闭当前git窗口、卸载重新安装、直接修改用户名和邮箱、修改.gitconfig文件等方式都试过,无果…
原因:
- 虽然我们通过git config --global --list查看我们的用户名和邮箱已经修改成功了,但是当我们再进行push提交的时候,还是会提示用户名邮箱为以前的用户名或邮箱,其实是因为虽然当前global user或email是正确的但是的因为在git log中的email是错误的(是修改之前的),所以gitlab在校验所有的commit信息时进行了reject!
思路:
- 要想解决这个问题,因为当前的代码已经以以前的用户名和邮箱commit到暂存区,所以push一定有问题,所以我们要通过log进行reset,然后保证修改文件都在本地仓库的前提下,修改用户名和邮箱,然后再add commit push就可以成功了。
最终解决办法如下:(已成功解决)
- git log :打印日志,查看之前用户名和邮箱的版本号
- git reset 版本号 :还原回之前的状态
- 此时通过下面命令修改用户名和邮箱
- git config --global user.name username
- git config --global user.email email
注意:git reset 版本号一定要确该版本号是之前的版本号,然后再修改;