On Fri, 12 Aug 2016 17:50:12 +0200
Pablo Rodríguez <oi...@web.de> wrote:
> I have a repo (also hosted at Gitlab) that uses an email address that
> I would like to remove from the whole repo (and replace with another
> All contributions to that repo are mine. Is there any way that I can
> replace all email addresses in both my local repo and the remote?
The e-mail address is a part of the so-called "author" and "committer"
fields in the commit objects representing all the affected commits in
So, to do what you need you need to actually re-write all these commits
objects. Here's how to do this .
A note of warning.
Since commits link to each other using the SHA-1 hashes calculated over
their contents, and it includes the commit object itself, these hashes
will be different for the re-created commits. To say this in other
words, while semantically the history of your repository will remain
the same -- in the sense that each re-written commit will represent
exactly the set of changes the commit it replaced was, _literally_ all
the history will be different because all the commits will have hashes
different from the original.
This means that whoever forked your repository or merely cloned it and
based some their own work on that history, will need to re-fork,
re-clone and take actions to accomodate this change. This situation is
well described in the section "RECOVERING FROM UPSTREAM REBASE" of the
`git rebase` manual page. Please be sure to read and understand it
before you actually decide to do what you want. I'd say that unless
it's your private repo and you therefore have full control over all of
its clones, it would be much better to just update the repo's README
file with the information on the change of your e-mail address.
And then just do all the new commits there using the updated e-mail
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.