Understanding Git (live recording) by Reuven M. Lerner

Understanding Git (live recording)

Finally! Understand Git, and how it works


You know what Git is: An amazingly powerful version control system.

But you're not sure how it works, and that has led to some, interesting situations at work.  You end up removing your copy of a repository, and then cloning from the server. Or you just never use branches.  Or you copy files manually, from one computer to another, to avoid thinking about branching, merging, pushing, and pulling. 

You're not alone: Git is notoriously difficult for developers to learn and understand. Companies that adopt Git gain a lot, but their developers often suffer along the way.

This is a live recording of a two-part Git course that I gave online.  It covers most of the basics of Git, including:

  • Introduction to Git, and what is version control?
  • Repositories: Creation and configuration
  • Committing
  • Staging vs. committing
  • Git logs (reading and sorting)
  • HEAD, commits, and branches
  • Fixing mistakes 
  • Git theory and objects: Commits, blobs, trees, and tags
  • Branches 
  • Merging 
  • Remote branches 
  • Collaboration using GitHub 

After taking this course, you'll finally understand what Git does, and how it works.

 As a Linux and OpenStack SysAdmin, I maintain configuration files, scripts, etc in Git.... but I never really understood Git, I just used the same 3-4 commands that someone put in a wiki page.

But what if our Git repos were screwed in some way, how would we recover from that? Developers would come to me to fix the issues and I would probably take some 'shotgun' approach to restore them.

This is why I took Reuven's Understanding Git course. Reuven clearly explains how Git works and has provided me the background info I was looking for to confidently maintain Git repos and to make better use of the Git generally. — Maurice Burrows

Note: This is a recording of a live course I gave in 2017.  The course is being redesigned and re-recorded, so that it'll be more appropriate for people who are not taking it live.  If you buy the course now, you will be guaranteed free access to the new version, which I expect to release in the first part of 2018, and which will include even more content, as well as even more exercises.

What's included?

Video Icon 2 videos File Icon 1 file


Understanding Git, day 1 of 2.mp4
(4h 07m 27s)
Understanding Git, day 2 of 2.mp4
(4h 03m 05s)
Slide PDFs
2.96 MB


What do you mean, this is a "live course"?

I gave this course live and online to a number of people in July 2017. The video available here is the recording of that course, including pauses during which people were working on exercises.  This course is being reworked to have even more content, but broken up into many smaller sections, without the pauses, and more appropriate for  learning in chunks from home (or work).

If you buy this course now, then you'll get the revamped version for free.  

What GUI tool do you use?

The course uses the Git command line . That's because all of the documentation that you'll find for Git assumes that you're on the command line. Moreover, the command line is the same on every computer, which means that my instructions will be appropriate for a larger number of people. That said, I do use Sourcetree for some graphical representations of repositories. 

What if I dislike the course?

If you don't think  you got value from the course, then ask for a refund, and I'll give you one.

Can't I just learn how to use Git, without all of that theory?

No, and this is one of the fundamental mistakes I believe people make with Git: They try to use it, without understanding how it works.  For better or worse, using Git means knowing how it is implemented, and how it stores your data.  Fortunately, it's relatively easy to understand this — and once you do, just about every action you do in Git falls into place and is easier to understand.

Because better developers have better careers

Have a more satisfying, successful, and lucrative career, by becoming more fluent in Python, Git, and related technologies.