Learn Git & GitHub

Git is a version control system, accessible through the command line, that lets you track changes in your code and collaborate with others.

The most popular hosting platform for Git is GitHub (now owned by Microsoft), so often Git and GitHub are taught together. Other platforms for git include BitBucket and GitLab.

Git is a fundamental tool in a programmer’s toolbox and these courses will take you from being a complete Git beginner to being comfortable working with Git.

Generally, these courses will expect you to be able to use the command line so check out our recommended command line courses if you need an introduction or to brush up on your command line skills.

A Guide to Git and Github – Launch School

This free online book is a simple introduction for absolute Git beginners to get familiarised with the basics of Git and GitHub. Step by step instructions and explanations will walk you through how to set up a Git repository on your computer, track changes and then use GitHub to sync your work with remote computer.

Learn Git Version Control – Katacoda

If you’re not yet comfortable using the command line and scared you might mess something up while you’re learning, then Katacoda (by O’Reilly) delivers practical tutorials using interactive browser-based activities that don’t require you to download or configure anything. It’s basically a sandbox in your browser that lets you try things out and break things as much as you like, without it affecting your computer. Their Git course goes through some of the everyday Git actions you’ll use as a programmer.

Learn Git Branching

Learn Git Branching provides a completely in-browser interactive and fun sandpit so you can learn how to create and work with Git branches. You can try out beginner to more intermediate and advanced techniques without having to install anything or affect your own computer.

Git Basics – Tower

Tower is a popular Git client that provides a graphic user interface (or “GUI”) to use instead or in conjunction with the command line. Tower provide a number of free resources to learn Git, including this free video series that walks you through the basics of using Git.

Learn Git – GitKraken

GitKraken is another graphic client for Git, which has provided a comprehensive set of video-based tutorials that explain beginner, intermediate and advanced Git concepts and how to use them in the GitKraken app.

Introduction to GitHub – GitHub

This free course created by GitHub’s Learning Lab is a quick introduction to starting to use GitHub, including published a page using GitHub Pages (one of GitHub’s coolest features). Once you’ve completed this, check out the rest of the courses on the GitHub Learning Lab, including one on creating a site using GitHub Pages.

Introduction to Git and GitHub – Coursera

This free course developed by Google provides a solid foundation for the basics of Git as well as delving into a few more advanced areas like branches and merging. This course will also teach you how to set up a remote repository with GitHub and work with it.

Version Control with Git – Udacity

This free course takes you through the basics of using version control with Git, including creating a new Git repository, working with your repository and keeping it organised.

Version Control with Git – Coursera

This free introduction to version control with Git is developed by Atlassian, who make BitBucket, so BitBucket instead of GitHub is used for Git repository hosting. This has an advantage of introducing you to another Git hosting platform.

This course aims to help you develop a strong conceptual understanding of the technology and is intended for both beginners and those who want to deepen their understanding of Git.

There are two paths provided, one that assumes knowledge of command line, and another that uses the Sourcetree graphical client

Git Essentials Training – Mijingo

This video-based course by Mijingo founder Ryan Irelan aims to help you learn the fundamentals and best practices of using Git version control in your web development projects. It goes beyond most introductory level Git courses and introduces real-world practices and uses. It is paid-only, with the highest tier including a personal training call with Ryan.

Keep going with our 31 Days of Learning. Sign up to our newsletter to keep updated!