{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Git \n", "\n", "\n", "Like most tools we present in this course there is a difference between what `git` can do and what you should know about it. \n", "\n", "## What is Git?\n", "\n", "`Git` is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively\n", "([Wikipedia](https://en.wikipedia.org/wiki/Git)).\n", "\n", "In the introductory lecture we mentioned [GitHub Desktop](https://github.com/apps/desktop) which is a very useful \n", "app to learn `git` from a graphical user interface (GUI), rather than from the command line interface (CLI).\n", "\n", "\n", "## Git platforms\n", "\n", "\n", "There are three main platforms hosting git repositories on the web:\n", "\n", "- [GitHub](https://github.com)\n", "- [GitLab](https://gitlab.com)\n", "- [BitBucket](https://bitbucket.org)\n", "\n", "In this course we use GitHub and Gitlab. \n", "\n", "GitHub is the most popular (as of now), and GitLab is the one contracted by the University (also very popular).\n", "\n", "Here we focus on GitHub. The workflow is almost identical for GitLab, it is just \n", "the web interface that is slightly different.\n", "\n", "## Forks \n", "\n", "If you are working on a project already hosted on github \n", "you should fork it to your account. This will allow you to modify it,\n", "keep track of what you are doing, and contribute to it. \n", "\n", "To fork a repo you can click on the `fork` button on the top right of the repository github page.\n", "\n", "