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