Issue
I've been using the wrong email while making commits to my repo.
I found [this script][1] that let me replace the faulty commits. It did work, but the original faulty commits are still there.
So now instead of 15 faulty commits, the repo has 15 faulty + 15 correct commits.
Solution
You will need to use filter-branch
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "<Old Name>" ];
then
GIT_COMMITTER_NAME="<New Name>";
GIT_AUTHOR_NAME="<New Name>";
GIT_COMMITTER_EMAIL="<New Email>";
GIT_AUTHOR_EMAIL="<New Email>";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD `
If you are the ONLY user who committed to this repository you can simply update all references without checking the old content
git filter-branch -f --env-filter '
GIT_AUTHOR_NAME="Newname"
GIT_AUTHOR_EMAIL="newemail"
GIT_COMMITTER_NAME="Newname"
GIT_COMMITTER_EMAIL="newemail"
' HEAD
Answered By - CodeWizard