Introduction to Git#

What is Git?#

Git is a version control software. What it does is track changes in a system of files to make collaboration among developers on a code project easy. It provides a rich set of tools to ensure that several programmers can work on the same project in a non-linear way. Several programmers can even work on the exact same file.

What is GitHub?#

GitHub is a service that provides hosting and storage for software development and version control using Git as its underlying version control software. It also offers services that goes beyond the functionality of Git.

For our purposes, they host repositories, or repos for short. A repository is basically some collection of files – say some code project organised in a tree of directories – where Git keeps track of the history of changes for each file. We typically do our work on a local copy (clone) of the repository on our own laptop, and then use Git to sync our local repository with the remote copy of the repository living on a GitHub server.

Note

For this course we will use GitHub, but note that there are several similar services available, such as GitLab and BitBucket.