1,前提
刚来公司,去gitlab仓库拉取项目代码的时候需要一个用户,密码,邮件,当时随便设置了一个邮件,
后来公司实施了信息安全方面的措施,被限制只能固定后缀的用户邮件才能拉取提交代码,好家伙,
这下代码没法提交,代码也没法拉取下来,于是求助同事,同事给了两个方案。
2,方案一
适用于还未本地commit的代码
重新设置git账户相关信息,
全局设置用户邮箱命令
shell
git config --global user.name zhangsan
git config --global user.email zhangsan@163.com.cn
注意:如果你已经用旧账号已经将代码A本地提交了,此时再进行全局设置,代码A是无法push到远程仓库的
3,方案二
适用于已经本地代码commit但没push情况
使用以下脚本将本地提交但未push的代码的账号信息重新设置
,脚本执行的地方是在项目模块里面,使用gitBash工具执行以下命令,zhangsan参数需修改成自己的
powershell
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="zhangsan@qq.com"
NEW_NAME="zhangsan"
NEW_EMAIL="zhangsan@163.com.cn"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$NEW_NAME"
export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$NEW_NAME"
export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags