Version control is an essential tool if you want to be successful in today's web & software world. This video course will take you from novice to master. Easily.

Step by Step

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

Learn 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.

Learning version control with Git has become really easy!

Get Started for Free

3 Reasons to Learn Version Control with Git

Use what Ruby on Rails, jQuery
and the Linux Kernel Use

Top projects like the Linux Kernel, Ruby On Rails, or jQuery use Git as their version control system of choice. Around the world, in teams large and small, Git is an essential part of the tool chain.

Become a Better Professional

You won't find a top programmer, web developer, or web designer who doesn't use version control. Because it helps you produce better results and makes collaboration easy. And because it can save your life when things go wrong...

A Beginner-Friendly Way to Learn

We don't require a deep technical background - unlike most other learning content in this area. Instead, it's tailored for beginners of version control and/or programming, for designers, for project managers... Basic topics are covered, not expected.

Frank Karlitschek
CTO at ownCloud

At ownCloud, we use Git every day.
This course helps everyone learn Git's key features - and be super productive with version control.

Get Started with the Videos
Holger Spielberg
Head of Mobile Payments at PayPal.de

Finally a beginner-friendly introduction to version control with Git. Highly recommended!

Get Started with the Videos

Video Episodes

Part 1 Getting Ready

Command Line
Learn Git on the CLI

Desktop GUI
Learn in a Mac GUI
Windows coming soon!

1

What is Version Control?

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

  • Tags
  • basic concepts
2

Installing & Configuring Git

How do I install and configure Git on my machine?

  • Tags
  • config
  • install
  • setup
3

The Basic Workflow of Version Control

Which steps are typically involved when using version control?

  • Tags
  • steps
  • workflow

Part 4 Fundamentals

Command Line
Learn Git on the CLI

Desktop GUI
Learn in a Mac GUI
Windows coming soon!

4

Creating a New Local Repository

How do I create a new repository on my machine?

  • Tags
  • create
  • init
5

Cloning an Existing Repository

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

  • Tags
  • clone
  • download
6

Inspecting Local Changes

Which files are currently modified - and how?

  • Tags
  • status
  • diff
  • chunk
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?

  • Tags
  • stage
  • unstage
  • tracked
  • untracked
  • commit
8

Commit History

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

  • Tags
  • history
  • log
  • hash
9

Ignoring Files

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

  • Tags
  • ignore
  • gitignore
  • exclude
10

Introduction to Branches

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

  • Tags
  • branch
  • merge
  • HEAD
  • checkout
11

Creating & Checking Out Branches

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

  • Tags
  • branch
  • checkout
  • HEAD
  • master

Part 12 Advanced

Command Line
Learn Git on the CLI

Desktop GUI
Learn in a Mac GUI
Windows coming soon!

12

Merging Branches

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

  • Tags
  • merge
  • integrate
13

Using the Stash

How can you save changes temporarily - without committing them?

  • Tags
  • stash
  • saving temporarily
  • clean working copy
14

Dealing with Merge Conflicts

How do I resolve a merge conflict?

  • Tags
  • conflict
  • merge
  • resolve
15

Undoing Things

How can I undo things in Git?

  • Tags
  • undo
  • restore
  • checkout
  • reset
  • revert
  • discard
16

Tags

How can I use tags in Git?

  • Tags
  • tag
17

Introduction to Remote Repositories

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

  • Tags
  • remote
  • share
  • push
  • pull
  • fetch
  • clone
18

Connecting a Remote Repository

How can I connect to a remote repository?

  • Tags
  • remote
19

Sharing Data on a Remote Repository

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

  • Tags
  • remote
  • share
  • push
  • pull
  • fetch
  • clone
20

Publishing a Local Repository on a Remote

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

  • Tags
  • publish
  • upload
  • remote
21

Pushing Changes to a Remote

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

  • Tags
  • push
  • track
  • upload
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?

  • Tags
  • pull
  • fetch
  • download
23

Rebase as an Alternative to Merge

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

  • Tags
  • rebase
  • merge
  • integrate
24

Branching Workflows

How can I structure and manage my branches?

  • Tags
  • branch
  • workflow
  • long-running
  • short-lived

Choose Your Package

About the Author

Tobias G√ľnther is the CEO and founder of fournova, a small software startup based in Germany. The company's product Tower helps over 70,000 users in companies like Apple, Google, Amazon, and Ebay to easily & productively work with the Git version control system.

For many years, Tobias is a regular speaker on conferences large and small for topics related to Git and version control. Additionally, he has written numerous articles and tutorials for blogs & magazines (for example for the "Tower Blog", Smashing Magazine, or SixRevisions).

Frequently Asked Questions

What if I don't like the book or videos
I've purchased?

We want to help you learn Git, not make you unhappy: Just send us an email within 30 days after purchase and we'll refund you.

I'd like to see a certain topic added to the course. How can I give feedback?

We'd love to hear your feedback! Just drop us a line via support@git-tower.com.

Learning version control with Git has become really easy!

Get Started for Free
Follow Us

About Us

As the makers of Tower, the best Git client for Mac and Windows, we help over 70,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.