当你错用了公司的邮箱作为提交者的信息在开源的 Git 仓库上提交了代码时,可使用以下脚本修改,修改完会生成一系列全新的 commit,与原先的 commit 平行,此时再git push -f
即可。
#!/bin/sh
git filter-branch --env-filter '
an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"
if [ "$GIT_COMMITTER_EMAIL" = "gzxieyunjia@corp.****.com" ]
then
cn="YJXie"
cm="gzxieyunjia@gmail.com"
fi
if [ "$GIT_AUTHOR_EMAIL" = "gzxieyunjia@corp.****.com" ]
then
an="YJXie"
am="gzxieyunjia@gmail.com"
fi
export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
'