A list of openly available and free resources for learning and using git & Github.
Using version control is an important skill for any software-driven work. One of the most common approaches for version control is to use git & Github. Here, we collect open tutorials and resources for learning git & Github.
As a very brief overview / cheat-sheet:
- version control: is a system for managing files, keeping track of changes and different versions
 - git: is an open-source tool for doing version control
 - github: is a place (basically, a database), that uses git. Github is a privately owned service
 
The following are resources that provide tutorials for learning git and/or Github:
- This presentation by Alice Bartlett gives a clear conceptual overview and introduces key terminology for git
 - This simple guide by Roger Dudler provides a brief and simple overview of git
 - This primer by Bradley Voytek gives a general description of what git is and how it works
 - The git website has full documentation, including a book on git
 - Github themselves have lots of documentation, including a git handbook that introduces the main concepts for version control, and a hello world page, to get started using Github
 - The try git page includes a collection of resources for learning and using git & Github
 - Atlassian have a series of tutorials for learning how to use git
 - This journal article provides a quick introduction to using git & Github for scientists
 - Software Carpentry have a introductory tutorial for getting started with git
 - This tutorial video steps through a hands-on tutorial for using Github for researchers
 - The PSModels git tutorial is a comprehensive online textbook introducing git & Github
 
Useful tips, tricks, and cheat-sheets for git include:
- Git cheat sheet, from Github
 - Git Tips, from Github
 - Git cheat sheet, from Olivia Guest
 - Git Flight Rules, or how to do specific tasks, and how to fix things
 - A list of special files available and used on Github
 
Dedicated exercises for learning and practicing git:
- Learn git branching is an online, interactive tutorial with demonstrations and exercises
 - A set of exercises for deliberate git pratice
 - Git Gud, a command line game to help learn and practice Git
 
There are other collections of git & github related links, including:
- the awesome github collection
 - the git is hard collection