opensource.google

Docs

GitHub accounts

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, just use that.

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 register their account at go/github. 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.)

Configuration

In order for our systems to work properly with your GitHub account, you’ll need to make a few configuration tweaks.

  1. 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.

  2. 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:

  1. Log in to https://cla.developers.google.com/ with your personal Google account and sign an individual CLA.
  2. 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.
  3. 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.

  1. If only the most recent commit needs update, run: git commit --amend --reset-author
  2. If there is more than one commit to update. Use git rebase -i.
  3. Type e or edit on the commits you want to update.
  4. For each commit, run: git commit --amend --reset-author and git rebase --continue
  5. 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.

I’ve lost access to my repository! Help!

If you no longer have access to a respository where you should be an Admin:

  1. If there are any other Admins, please contact them first.
  2. If that fails, file a request.

Except as otherwise noted, the content of this page is licensed under CC-BY-4.0 license. Third-party product names and logos may be the trademarks of their respective owners.