If you already have a Github account that has been configured with an existing SSH key, then there is no need to follow these instructions. If you are taking part in the JavaScript Bootcamp, it is also not necessary to follow these instructions, as this is part of your bootcamp's first-day schedule.

About these instructions

Whether setting up Git on an OSX- or Ubuntu-operated machine, the following instructions will be run from you computer's terminal prompt. It is also important to remember to only run one command at a time when following these instructions.

The beginning of a command is marked by the $  symbol in the instructions; some instructions have more than one command to run per step. This symbol is used to show where a new command starts and to emphasise that these commands are to be run in your terminal prompt. As such, when copying any commands, do not include the $  symbol.

Configure Git

We will be using Git for our version control system, so we need to set it up to match our Github account. 

If you haven't already created a Github account, please do so here before continuing.

Once you have created a Github account, open the terminal prompt on your computer and run the commands listed below. IMPORTANT: Replace the example name and email address in the commands with the name and email used to create your Github account; both the name and email must be wrapped in quotations marks "   "

$ git config --global color.ui true
$ git config --global user.name "YOUR NAME"
$ git config --global user.email "YOUR@EMAIL.com"
$ ssh-keygen -t rsa -C "YOUR@EMAIL.com"

The steps above create a new SSH key using the provided email as a label. When your terminal prompts you to "Enter a file in which to save the key", press the enter key to skip:

# Enter a file in which to save the key (/Users/you/.ssh/id_rsa):

When your terminal prompts you to "Enter passphrase", press the enter key to skip:

# Enter passphrase (empty for no passphrase):
# Enter same passphrase again:

The next step is to  take the newly generated SSH key and add it to your Github account. To retrieve that key, run the following command in your terminal:

$ cat ~/.ssh/id_rsa.pub

Your terminal will display a key similar to the example below...that is your SSH key:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC/p2JXhE3L0RRzTilFhpmuOFGulRvQKWBD+fOmLP92n3ROwiRkukXQSxCj7S6oti0esn6ibvZJLGxSIiiXwgLb5+AaINGlF2UgD3S7K8iqREdpkvw6QdgHScrniKOcAKEJ4VHzsNLWuG8GtmjNk3uKIfEPjP3S0K/vt956Ns4dsDCC9eIvRKwN8amug6qW1ro70t3GkzbT/75veNwrdx9GOwkTBN/U604GZ5QD6qR/FjHz3gv1SkP6zahiSfCv1vJJ1WsmISEQSNMzlb6s7hK0WPaYX41Lg2on9j3JcmxJwWcDIz+EeWRI7Idz2Sy/QZFkc/LDcuaARW4mBM5Psk8twScW3/G+vRFkR1qMl+vZPNRRsTnSSKntQuR6rdXN/Ltw90hjGo/JDcM7qowZQFiMx7FoL2sihjcik7IiH9G+Y8Vn7PB+KCiTbB22EZ5i2mgOrwVByUdNYFhtqa8S6Ks1jnNnANE/T635XQ3/bRAcRNXs2aBA4rgQ3qVwjHieXQQ77lhJHI3iEFt9eQiF/6Vz3ZDDghYHwnXV+wEyi6CA3i62Yq8wOxgkyWljNwVza3iVGZdSnkYR9V20y48izioSxe8xWcbiwwowR2nVsI/cSs7uCSlfiN3zcmFUWF+x5c/4G7lQeMruW+pOcahvYIPa7QpkwEUPO8SGI74fPsTsfw== your.email@here.com

Copy this key and add it to your Github account. To do this, go to Github, click on your profile icon in the top right-hand corner, and select Settings:

In your Github profile, click on SSH and GPG Keys:

Now click on the New SSH key button in the top right-hand corner of the page:

Give your key a Title and then paste the key into the Key section. Once added, click on the Add SSH key button.

To verify that everything is working correctly, return to your terminal and run the following command:

$ ssh -T git@github.com

If you get the message below, just type yes and press the enter key to continue:

# The authenticity of host 'github.com (192.30.253.112)' can't be established.
# RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
# Are you sure you want to continue connecting (yes/no)?

At this point, you should receive the following output in your terminal prompt:

# Hi "your-username!" You've successfully authenticated, but GitHub does not provide shell access.

Congrats! You have just configured your git.

Did this answer your question?