Learn Version Control with Git

Our beginner-friendly video course teaches you the foundations of Git - and takes you from novice to master!

Learn version control with Git - with our step-by-step video course. Each lesson covers just a single topic and has an average duration of only 5 minutes.
Start now!

Step By Step

Instead of overwhelming you with new stuff, each video concentrates on just a single topic.

At Your Own Pace

With an average duration of just 5 minutes, even one short video per day is enough to learn Git.

Aimed at Beginners

We take you all the way from installing Git and the basics of version control to advanced topics. Video by video.

Bastian Allgeier
Creator of the popular Kirby CMS
I love how this course guides you in a way that doesn't require a PhD in computer science - and yet makes you feel like a pro in the end.
Frank Karlitschek
Founder at Nextcloud
At Nextcloud, we use Git every day. This course helps everyone learn Git's key features - and be super productive with version control.

Video Episodes

Part 1 Getting Ready

Command Line
Learn Git on the CLI

Desktop GUI
Learn with Tower

1

What is Version Control?

How does version control work in general? What benefits can I expect?

2

Installing & Configuring Git

How do I install and configure Git on my machine?

3

The Basic Workflow of Version Control

Which steps are typically involved when using version control?

Part 2 Fundamentals

Command Line
Learn Git on the CLI

Desktop GUI
Learn with Tower

4

Creating a New Local Repository

How do I create a new repository on my machine?

5

Cloning an Existing Repository

How can I work with an existing repository from a remote server?

6

Inspecting Local Changes

Which files are currently modified - and how?

7

Staging & Committing Changes

How can I add changes to the next commit? How can I save changes as a new revision in the repository?

8

Commit History

How can I see what has happened in my repository? How can I review my repository's history?

9

Ignoring Files

How can I prevent certain files from being versioned / tracked by Git?

10

Introduction to Branches

What are branches? What is so special about the branching model (compared to SVN)? Why should you use them?

11

Creating & Checking Out Branches

How can I create a branch? How can I make a branch active?

Part 3 Advanced

Command Line
Learn Git on the CLI

Desktop GUI
Learn with Tower

12

Merging Branches

How can I integrate changes from one branch into another branch?

13

Using the Stash

How can you save changes temporarily - without committing them?

14

Dealing with Merge Conflicts

How do I resolve a merge conflict?

15

Undoing Things

How can I undo things in Git?

16

Tags

How can I use tags in Git?

17

Introduction to Remote Repositories

What's a remote repository? How is it different from a local repository?

18

Connecting a Remote Repository

How can I connect to a remote repository?

19

Sharing Data on a Remote Repository

How can I use remote repositories to share work with others?

20

Publishing a Local Repository on a Remote

How can I publish a local repository on a remote server for the first time?

21

Pushing Changes to a Remote

How can I push my changes to the remote server? What are tracking connections?

22

Pulling & Fetching Changes from a Remote

How can I download new changes from the remote server? What's the difference between the "Fetch" and "Pull" commands?

23

Rebase as an Alternative to Merge

How can I use "rebase" to integrate changes? What's the difference between merge and rebase?

24

Branching Workflows

How can I structure and manage my branches?

About Us

As the makers of Tower, the best Git client for Mac and Windows, we help over 100,000 users in companies like Apple, Google, Amazon, Twitter, and Ebay get the most out of Git.

Just like with Tower, our mission with this platform is to help people become better professionals.

That's why we provide our guides, videos, and cheat sheets (about version control with Git and lots of other topics) for free.