Match $OLD_NAME and $OLD_EMAIL
git filter-branch --env-filter '
OLD_NAME="name"
OLD_EMAIL="name@example.net"
NEW_NAME="Name"
NEW_EMAIL="name@example.org"
if [ "$GIT_COMMITTER_NAME$GIT_COMMITTER_EMAIL" = "$OLD_NAME$OLD_EMAIL" ]; then
export GIT_COMMITTER_NAME="$NEW_NAME"
export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_NAME$GIT_AUTHOR_EMAIL" = "$OLD_NAME$OLD_EMAIL" ]; then
export GIT_AUTHOR_NAME="$NEW_NAME"
export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tagsMatch $OLD_EMAIL only, replace name and email...
git filter-branch --env-filter '
OLD_NAME="tk18483"
OLD_EMAIL="name@example.net"
NEW_NAME="flederwiesel"
NEW_EMAIL="flederwiesel@fra-flugplan.de"
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