git push的一些坑

在安装git的时候我们一般会自己设置一个用户名和邮箱,这个一般设置为全局的用户名,如下所示

git config --global user.name  "xxx"
git config --global user.password "xxx"

但是在公司提交项目的时候一般会有邮箱验证,要用到公司的邮箱,这个时候要在项目路径下设置项目的用户名和邮箱

1、先进入项目地址

2、设置用户名,邮箱

git config  user.name  "xxx"
git config user.password "xxx"

git config --list  
该命令可以看到用户的配置,在项目路径下会看到全局和对应项目的用户配置,在没有单独设置过用户名和邮箱的地方只会显示全局配置

我在实际操作过程中碰到一个问题就是设置了项目的用户名和邮箱还是报邮箱验证不通过的错误。

经过回溯,我发现我在设置项目的邮箱之前就已经commit了代码,当时的操作流程是先commit代码成功,然后push时报邮箱验证的错误,然后直接修改项目用户名和邮箱,再次push还是被拒绝了。

#### 因为在commit的时候已经把用户名和邮箱的配置提交了,我修改用户配置后再次push实际上push的是之前commit的代码所附带的用户配置,所以还是push失败。

这个时候我采用了版本回退的办法来解决

1、git reflog 查看版本操作日志,找到要回退的版本,并记录版本号
2、git reset --hard 7cda030

#### 7cda030 是版本号的前几位字符

回退成功后,再次pull远程代码,然后再次commit本地代码,此时附带的是项目的用户配置而不是全局配置了,再次push后操作成功

猜你喜欢

转载自www.cnblogs.com/youmingDDD/p/9479606.html