Git requires you to identify yourself with your email address in order to make commits. For your privacy, you can use a private address instead of your real email address.
GitHub does not get many reports of spam being sent to Git commit email addresses, but if you are worried about it, you can choose to hide your email address anyway.
There are two situations where you'll want to hide your email address:
- Making commits on GitHub.com directly.
- Making commits through the command line or a native app.
Hiding your email address for commits made on the website affects various parts
of the GitHub Flow, like creating, editing,
and deleting files, as well as merging pull requests. Enabling this feature sets
your email address to
<username>@users.noreply.github.com for these activities.
- In the user bar in the top-right corner of any page, click Account Settings.
- Click "Emails" in the sidebar
- Click Keep my email address private
Instead of using your full email address (e.g.
firstname.lastname@example.org), you can
configure Git's "user.email" setting to use your
address, which will still serve as a unique identifier for you. Your commits will
properly be linked to your GitHub account.
To set your private email address, run the following from the command line:
git config user.email "email@example.com" # Set your email address to the private version git config user.email # Verify the setting # firstname.lastname@example.org
You can also provide a special
--global flag, which makes your email address
the same across every local Git repository on your computer. For example:
git config user.email --global "email@example.com" # Sets your private email address across every local Git repository
Make sure that email address associated with your GitHub account is the same email address used by Git. It may take some time for old commits to fall out of GitHub's cache, but any new commits should link up immediately. You should also [verify your email address on GitHub][verify-email].
git config user.email reports the correct email address for the repository you're viewing,
but your commits are using the wrong email address, your environment variables may
be overriding your email address.
Make sure you have not set the
You can check their values with the following command:
echo $GIT_COMMITTER_EMAIL # prints the value of GIT_COMMITTER_EMAIL echo $GIT_AUTHOR_NAME # prints the value of GIT_AUTHOR_EMAIL
If you notice a different value, you can change it like so:
Changing your email address in Git only affects commits that you make after your change.
To rewrite your old commits, you can use
to change the repository history to use your new email address.
Warning: If you're collaborating on a repository with others, it's considered bad practice to rewrite published history. You should only do this in an emergency.
- "Git Configuration" from the Pro Git book