Video Course: Learn Version Control with Git
Creator of the popular Kirby CMS
Founder at Nextcloud
Video Episodes
Part 1 Getting Ready
Command Line
Learn Git on the CLI
Desktop GUI
Learn with Tower
What is Version Control?
How does version control work in general? What benefits can I expect?
Installing & Configuring Git
How do I install and configure Git on my machine?
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
Creating a New Local Repository
How do I create a new repository on my machine?
Cloning an Existing Repository
How can I work with an existing repository from a remote server?
Inspecting Local Changes
How can I work with an existing repository from a remote server?
Staging & Committing Changes
How can I add changes to the next commit? How can I save changes as a new revision in the repository?
Commit History
How can I see what has happened in my repository? How can I review my repository's history?
Ignoring Files
How can I prevent certain files from being versioned / tracked by Git?
Introduction to Branches
What are branches? What is so special about the branching model (compared to SVN)? Why should you use them?
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
Merging Branches
How can I integrate changes from one branch into another branch?
Using the Stash
How can you save changes temporarily - without committing them?
Dealing with Merge Conflicts
How do I resolve a merge conflict?
Introduction to Remote Repositories
What's a remote repository? How is it different from a local repository?
Connecting a Remote Repository
How can I connect to a remote repository?
Sharing Data on a Remote Repository
How can I use remote repositories to share work with others?
Publishing a Local Repository on a Remote
How can I publish a local repository on a remote server for the first time?
Pushing Changes to a Remote
How can I push my changes to the remote server? What are tracking connections?
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?
Rebase as an Alternative to Merge
How can I use "rebase" to integrate changes? What's the difference between merge and rebase?
Branching Workflows
How can I structure and manage my branches?
Get our popular Git Cheat Sheet for free!
You'll find the most important commands on the front and helpful best practice tips on the back. Over 100,000 developers have downloaded it to make Git a little bit easier.
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.