GitHub is a great way to share code and work collaboratively. Below are guidelines for creating a NOAA GitHub account and repositories under that account. More about the NOAA guidelines can be found here. Also see the main NOAA GitHub site and information, as well as the current NOAA affiliated GitHub projects.
How to create a NOAA GitHub account
To set up a NOAA approved GitHub account, create an account with GitHub with your NOAA email and follow the below requirements:
- NOAA users must have a GitHub account using their NOAA email
- They must have a photo of themselves associated with the account
- They must use 2-factor authentication
- They can only have NOAA related work under their account
Note: it is good practice that your NOAA GitHub username is
FirstLast-NOAAwhich clearly identifies it as an NOAA linked account versus a personal account.
How to set up a repository with your NOAA account
To set up a repository to keep your code, create a repo under your NOAA GitHub account and follow the below requirements:
- Only allow write access to NOAA users
- All non-NOAA users can only have pull-request access
- Must include a
DISCLAIMER.mdlike this one, or a disclaimer in the README
- Must include specific wording in the
- Must have a “gold standard” backup of the repo
One way to set administrative privileges on your repo is to create an organization in GitHub. Repos will then fall under that org, and Github allows for more admin ability under organizations.
If you have multiple GitHub identities (perhaps a personal one and a work one). You will want to be careful about which identity you use. Here are some ways to deal with multiple identities.
To check which identity you are using inside of a git repository by default:
git config user.name git config user.email
You can set
user.email for each repository as you go. This works, however there is a global setting, and if you forget to initialize your repository with the correct credentials, the global choice will be used.
Better: set up a
.gitconfig to deal with multiple identities
For more information on setting up configuration files on your computer for multiple accounts:
- Git Config Files using a folder structure
- Windows Machine Multiple Git ID’s
- Multiple Emails per Git Repo