Rebasing old commits for trans people

2 min readMar 8, 2023


Hello, my name is Gabrielle, and I’m a transgender person, so it does mean that I changed my name, so here I want to present some techniques to rebase your old commits into new ones with your real name!

You can either rebase or filter-branch. The filter-branch is legacy but still can be helpful; the central command is:

$ git filter-branch \
-f \
--env-filter \
"GIT_AUTHOR_NAME='Gabrielle Guimarães de Oliveira'; GIT_AUTHOR_EMAIL=''; \
GIT_COMMITTER_NAME='Gabrielle Guimarães de Oliveira'; GIT_COMMITTER_EMAIL='';" \

This command basically rewrites your commit history for the repo replacing all author and commiter names and emails. The git history has 2 kinds of “authors”, the commit author itself, that’s your git name and email… and the commiter, who committed, and will appear separately on github if they’re different.

Now we have the rebase commit too, but it’s a little bit harder and for codebases that you don’t have the majority of the commits, you can do it like this:

$ git rebase \
--committer-date-is-author-date \
--gpg-sign \
--root \
-i \

So you’ll have the rebase interface and you can rename your name and author like this:

$ git config "Gabrielle Guimarães de Oliveira"
$ git config ""

After that amend the commit with your changes like:

$ git commit --amend --reset-author --no-edit --no-gpg-sign

And return your name to the maintainer's name and email, because this will be used on the commiters name and email:

$ git config "Gabrielle Guimarães de Oliveira"
$ git config ""

That’s it, byte bye 👋