Since this is something I’ve had to figure out 5 times already:

#!/bin/sh

git filter-branch --env-filter '
if [ "$GIT_AUTHOR_EMAIL" = "old-email-address" ];
then
    export GIT_AUTHOR_EMAIL="new-email-address";
fi
' HEAD

… will replace all occurrences of ‘old-email-address’ in the git commit email field with ‘new-email-address’ on the current branch.

The usual caveats of rewriting history apply: your head will diverge and anyone working off your branch is in for a hassle.

William Morgan, April 17, 2011.
This article was labeled as

To reply to the article, enter your email address. A copy of the article will be sent to you via email.