踩坑记 | Git push后提示邮箱‘xxx@xxx.com‘不符合规范,请使用本人企业邮箱地址
问题描述:
- 今天使用git push提交的后,一直提示remote reject,然后我大概知道问题是因为我周末改了git的邮箱,然后Bitbucket代码仓库本身对git用户的用户名和邮箱有安全认证:(必须使用公司合法的用户名和密码)
尝试:
- 关闭当前git窗口、卸载重新安装、直接修改用户名和邮箱、修改.gitconfig文件等方式都试过,还是不行
原因:
- 虽然我们通过git config --global --list查看我们的用户名和邮箱已经修改成功了,但是当我们再进行push提交的时候,还是会提示用户名邮箱为以前的用户名或邮箱,其实是因为虽然当前global user或email是正确的但是的因为在git log中的email是错误的(是修改之前的),所以在校验所有的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