Git解决历史记录提交用户邮箱不匹配问题

问题来源

由于本地邮箱配置错误后导致多次提交关联了错误邮箱导致 Repo 上提交人无法关联 Github 账户

解决

OLD_EMAIL为原来 Repo 中错误邮箱

CORRECT_NAME为要更改的正确用户名

CORRECT_EMAIL为要更改的正确邮箱

#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="[email protected]"

CORRECT_NAME="Cyunrei"

CORRECT_EMAIL="[email protected]"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]

then

export GIT_COMMITTER_NAME="$CORRECT_NAME"

export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"

fi

if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]

then

export GIT_AUTHOR_NAME="$CORRECT_NAME"

export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"

fi

' --tag-name-filter cat -- --branches --tags