注意:此操作会修改 Git 历史记录,正式工作环境不允许。
查询都有什么:
git log --format='%aN %aE' | sort -u |
注:一个特殊情况如果 email 没被设置过 OLD_EMAIL 可以填 user.name
。
- OLD_EMAIL 原来的邮箱
- CORRECT_NAME 更正的名字
- CORRECT_EMAIL 更正的邮箱
git filter-branch -f --env-filter ' |
因为修改了 Git 历史所有要使用强制推送:
git push --f --tags |
GitLab 有 master 分支保护的策略:
remote: GitLab: You are not allowed to force push code to a protected branch on this project. |
在 GitLab 中:Project(项目) -> Setting -> Repository 菜单下面的 Protected branches 把 master 的保护去掉就可以了。
References
– EOF –