Saturday, October 5, 2013

Git: Change the author info in your repository's history

Warning:
This action is destructive to your repository's history. It's best to do this on a clone, just in case. Also beware that this should not be performed on a repository that has been shared with others. Use at your own risk.

1. create a shell script in your repository, e.g gistfile1.sh
2. copy the following code
#!/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" = "your@email.to.match" ]
then
    cn="Your New Committer Name"
    cm="Your New Committer Email"
fi
if [ "$GIT_AUTHOR_EMAIL" = "your@email.to.match" ]
then
    an="Your New Author Name"
    am="Your New Author Email"
fi

export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
'

3. modify the names and emails to the appropriate values
4. execute the script


Ref:
Keeping your email address private · GitHub Help
Changing author info · GitHub Help
Remove sensitive data · GitHub Help
Setting your username in git · GitHub Help

No comments: