Fork me on GitHub
Back to main page | License and credit

Git

Git is a version control system that lets you track who made changes to what when and has options for easily updating a shared or public version of your code on source code repository hosting platforms such as GitHub or GitLab or Bitbucket. You will need a supported web browser (current versions of Chrome, Firefox, Safari, or Internet Explorer version 9 or above).

You will need an account at GitHub for parts of the Git lesson. Basic GitHub accounts are free. We recommend you to create a GitHub account if you don’t have one already. Please consider what personal information you’d like to reveal. For example, you may want to review these instructions for keeping your email address private provided at GitHub.

If you do not wish to use GitHub and a corresponding account, you can instead use your favourite source code repository hosting platform. Most aspects of our material and exercises are transferable to all popular platforms.

Follow the installation instructions below but do not forget to also configure Git.

Installation on Linux

If Git is not already available on your machine you can try to install it via your distribution package manager.

For Debian/Ubuntu run:

$ sudo apt-get install git

Check the version after installing:

$ git --version

For Fedora:

$ sudo dnf install git

Please also verify your installation and configure Git.

Installation on macOS

OS X 10.9 and higher

Install Git for Mac by downloading and running the most recent “mavericks” installer from this list.

After installing Git, there will not be anything in your /Applications folder, as Git is a command line program.

Please also verify your installation and configure Git.

Older versions of OS X (10.5-10.8)

Use the most recent available installer labelled “snow-leopard” available here.

Please also verify your installation and configure Git.

Installation on Windows

If you have installed Git Bash

In this case Git should be installed on your computer as part of the Bash installation.

Possible problem with this approach is that Git Bash does not see the Python and Anaconda scripts. See also the troubleshooting page.

Please also verify your installation and configure Git.

Installation using Conda

This assumes you have already installed Anaconda. Then you can install Git in one line in the Anaconda prompt:

$ conda install git

With this you are guaranteed that you can use both Git and Python and Anaconda scripts in the same (Anaconda) environment.

Please also verify your installation and configure Git.

How to verify the installation

Typing:

$ git clone https://github.com/coderefinery/recipe.git testing-git-clone
$ cd testing-git-clone
$ git log --oneline

You should see something like this:

40fbb90 (HEAD -> master, origin/master, origin/HEAD) draft a readme
dd4472c we should not forget to enjoy
2bb9bb4 add half an onion
2d79e7e adding ingredients and instructions

Please also check that you can access Git and Python in the same environment by checking the versions of pytest and sphinx-build (not a problem if versions differ a bit):

$ pytest --version

This is pytest version 5.2.1

$ sphinx-build --version

sphinx-build 2.2.0

Configuring Git

After signing up for a GitHub account and installing Git on your machine, you should go through the following steps to configure Git. First, the following commands will set your user name and email address:

$ git config --global user.name "Your Name"
$ git config --global user.email yourname@example.com

This is important since your Git commits use this information. The --global option ensures that you do not need to enter this information again on your machine.

It is convenient to set also the default text editor to use with Git. You can replace nano with vim, emacs or any other editor of your choice:

$ git config --global core.editor nano

If you are on Windows and want to use Notepad or Notepad++, you can configure this by providing the full path to the executable and optionally set some options. For example (adjust the path if needed, and note the quotation):

$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

To see where this information is stored, use:

$ git config --list --show-origin

Setting up SSH keys

Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to GitHub without supplying your username or password at each visit.

If you are unsure about this, you can skip this part and authenticate with GitHub using your username and password every time you will push changes to GitHub.

If you decide to set up SSH keys, follow this guide to connect to GitHub with SSH keys.