Get a GitHub account
If you don't already have a GitHub account, you may need to register for a new GitHub account to participate in open source while at Google.
While setting up your account, you must
enable 2-Factor Authentication (2FA), as this is necessary to participate
in all Google organizations. GitHub supports multiple
email addresses, and we do recommend adding your @google.com
address, even if
it's not your primary email address.
Which account should I use?
If you have an existing GitHub account, use that account, and register it using the instructions below.
If you really want to create a new account for work you can, but we generally don't recommend it. It creates more work for you to keep SSH keys separated, and using your normal GitHub account ensures that your open source contributions are connected to your main GitHub identity, even after you've left Google.
Register your account with us
All Googlers using GitHub must complete these steps. Doing this allows your coworkers to find you easily on GitHub, allows your CLA to be authorized, and will be used to ensure that access is revoked when you leave the company. (Registering your account does not grant Google access to any non-public information about your GitHub account.)
NOTE: TVCs may also need to register their account. Follow these special instructions.
Register your account on go/github.
Add your google.com email address to your GitHub account. You should be using your main work address for any work related commits; adding it to your GitHub account helps ensure that your commits don't get flagged as needing a CLA. If you have another official email that you use, like golang.org or chromium.org, add that address to your GitHub account.
GitHub has three independent email settings for each user: the primary email address (used when creating commits through the GitHub web interface), the profile email address (shown on your profile), and the notification email address (where emails related to your account get sent). You can configure GitHub notifications so that they are sent to different email addresses depending on the organization.
Set
git
to use this email address in commits by running the command:git config --global user.email "emailremoved@"
Two-factor authentication
You must enable two-factor authentication on your GitHub account in order to contribute to open source code for Google: setting up two-factor authentication.
I've lost access to my GitHub account! What do I do?
If you've lost access to your account, please see the GitHub documentation on what to do when you lose your 2FA credentials.
IMPORTANT: We do not have the ability to reset your access to your GitHub account. Please store your backup codes in a safe location.
If you cannot regain access, you may need to create and register a new GitHub account.
What happens when someone leaves Google?
When a Googler leaves the company, they will be removed from all Google organizations within about 12 hours, removing them from all teams and repositories. From that point forward, they are treated just like any other external contributor, with a CLA (go/cla) being required for any subsequent contributions. They can be re-added as a collaborator with write (but not admin) access to a repository, but that is at the discretion of the Google team that is responsible for the repository.
If you know that you, a teammate, or intern will be leaving Google and would like to continue working on a project, you should:
- Log in to https://cla.developers.google.com/ with your personal Google account and sign an individual CLA.
- Talk with your team or manager before you leave and make sure they are okay with you continuing to have access. Note that in many cases you may not need direct write access and can simply continue to submit pull requests.
- Once you are removed from the Google organizations (typically within a day of leaving), email your team or manager to have them add you back to the necessary repositories. If you are the only person that works on the project, and there is no team taking responsibility for it, then your best option is to simply fork the repo into your personal account and continue to maintain it there.
If the now-Xoogler was the only Admin, you can file a request to recover access.
How to update author info for existing commits
After updating GitHub configuration
here, you need to follow the
steps below to update author info, if you have already created commits before
having properly configure .gitconfig
.
- If only the most recent commit needs update, run:
git commit --amend --reset-author
- If there is more than one commit to update. Use
git rebase -i
. - Type e or edit on the commits you want to update.
- For each commit, run:
git commit --amend --reset-author
andgit rebase --continue
- A force push to remote branch is required if you have pushed your branch before.
You can also follow https://help.github.com/en/articles/changing-author-info, which provide instructions how to update incorrect authors across your entire repository using a script.
What happens if I rename, delete or change my GitHub Account?
We have tools that detect when registered Googlers change their GitHub account.
If you alter your GitHub login we'll simply update your registration with the new login.
If you delete your GitHub account we'll remove the registration details we have.
If your GitHub username and ID no longer match the details we have from your registration, we'll remove the accounts from Google managed orgs.
If any of these events occur, you'll receive an e-mail with details of any changes and you can use go/github to manually register / unregister your account.
I've lost access to my repository! Help!
If you no longer have access to a repository where you should be an Admin:
- If there are any other Admins, please contact them first.
- If that fails, file a request.