Understanding and mastering Git

Understand how Git works, and how you can make it work for you.

About The Course

Git is a powerful version-control system, allowing you to undo mistakes, work with earlier versions of your code, and collaborate with other developers seamlessly.

 

That’s the good news. The bad news is that Git is notoriously hard for people to learn. That’s partly because you have to know how Git works under the hood in order to truly use it. And because the commands and terminology used in Git are confusing and surprising, especially for people with experience using other version-control systems.

 

This course, which I’ve given for many years at Fortune 500 companies, will help you to understand how Git works, how you can and should use it, what the best practices are for working on your own and with a group, and how to collaborate with others using GitHub. When you’re done with this course, Git won’t be a pain in the neck that you’re forced to use; it’ll be an indispensible tool in your developer toolbox.

This Course Will Show You How To...

You'll learn everything you need to work with GIt:

Repositories

Commits

Staging

Working with GitHub

Best practices, on your own and with others

Branches

Merges (various kinds, including rebase)

Git's internal database

Pull requests

Preview The Course

Repositories

Adding + modifying = weird status

Fast forward merges

Course Contents

Course Length

16.6 Hours

Number of Lessons

79

Training Materials

21 PDFs

Coding Exercises

79

  • Intro and welcome (5 mins)
  • -what-is-version-control (10 mins)
  • Installing Git (8 mins)
  • The “git” command (3 mins)
  • Repositories (9 mins)
  • git config (4 mins)
  • git global config (4 mins)
  • Adding + committing your first file (8 mins)
  • commit messages and editors (5 mins)
  • More on adding and committing (6 mins)
  • Storing directories (3 mins)
  • Reading commit message and SHA-1 (8 mins)
  • Exercises (2 mins)
  • Exercise solutions (9 mins)
  • Adding + modifying = weird status (4 mins)
  • Basic log viewing (11 mins)
  • Advanced log viewing (6 mins)
  • gitignore (7 mins)
  • git diff (6 mins)
  • Exercises (3 mins)
  • Exercise solutions (10 mins)
  • checkout and HEAD (13 mins)
  • Visualizing commits with Sourcetree (8 mins)
  • Git reset (6 mins)
  • New commits, git revert (7 mins)
  • Mistake exercises (3 mins)
  • Mistake exercise solutions (13 mins)
  • Reverting earlier commits (2 mins)
  • Committing with –amend (4 mis)
  • git reset –hard (4 mins)
  • Git objects (16 mins)
  • Intro to branches (12 mins)
  • Committing and branches (9 mins)
  • Visualizing branches (10 mins)
  • Branching exercises (2 mins)
  • Branch exercise solutions (8 mins)
  • When Git won’t let you switch branches (5 mins)
  • git diff and branches (3 mins)
  • When the most recent commits are bad (5 mins)
  • Into to merging (5 mins)
  • Fast forward merges (5 mins) 
  • Exercises with fast forward merges (2 mins)
  • Exercises with fast forward merges –  solutions (5 mins)
  • Merge commits (10 mins)
  • Exercises with merge commits (2 mins)
  • Exercises with merge commits – solutions (7 mins)
  • Deleting and recreating branches (5 mins)
  • Conflicts (11 mins)
  • Exercises with conflicts (2 mins)
  • Exercises with conflicts – solutions (9 mins)
  • Merge strategy (7 mins)
  • Squash commits (6 mins)
  • Rebase (9 mins)
  • Rebase exercises (2 mins)
  • Rebase exercise solutions (10 mins)
  • Interactive rebase (8 mins)
  • Git bisect (9 mins)
  • Git blame (2 mins)
  • Git grep (4 mins)
  • Renaming files (5 mins)
  • Deleting files (3 mins)
  • Restoring files from earlier in history (5 mins)
  • Git stash (3 mins)
  • Git reflog (5 mins)
  • Git tags (7 mins)
  • Git on the network (6 mins)
  • Creating and cloning on GitHub and Bitbucket (12 mins)
  • Cloned repositories (6 mins)
  • Git push (5 mins)
  • Pulling, pushing, and conflicts (15 mins)
  • Exercises with pulling and pushing (2 mins)
  • Exercise solutions with pulling and pushing (9 mins)
  • Pulling with rebase (4 mins)
  • Feature branches via GitHub (5 mins)
  • Merging feature branches into master (3 mins)
  • Pull requests (8 mins)
  • Feature merging exercises (1 min)
  • Feature merging exercises solutions (7 mins)
  • Importing into GitHub (5 mins)
  • Finale (2 mins)
  • Pulling with rebase (4 mins)

This Course Is Perfect For...

Developers who want to (or have to) use Git in their day-to-day work, but have been frustrated trying to learn Git so far.

GET STARTED NOW

Monthly

Annual

Save 20%

BUY THIS COURSE

One-Time Purchase (Lifetime Access)
$ 300 One-Time
  • Understand how Git works
  • Practice all branch + merge types
  • Collaborate with others via GitHub

OR

GET A MEMBERSHIP

Access All My Training
$ 40 Per Month
  • All of my Python + Git courses
  • Monthly office hours
  • Private forum

BUY THIS COURSE

One-Time Purchase (Lifetime Access)
$ 300 One-Time
  • Understand how Git works
  • Practice all branch + merge types
  • Collaborate with others via GitHub

OR

GET A MEMBERSHIP

Access All My Training
$ 400 Per Year
  • All of my Python + Git courses
  • Monthly office hours
  • Private forum

100% Money Back Guarantee

I’m a one-person company dedicated to improving your career via Python and related technologies. If you haven’t gotten value from any of my courses, then just tell me — and I’ll refund your money.

Meet Your Instructor

Reuven is a full-time Python trainer. In a given year, he teaches courses at companies in the United States, Europe, Israel, India, and China — as well as to people around the world, via his online courses.

Reuven created one of the first 100 Web sites in the world just after graduating from MIT’s computer science department. He opened Lerner Consulting in 1995, and has been offering training services since 1996.

In 2020, Reuven published “Python Workout,” a collection of Python exercises with extensive explanations, published by Manning. He’s currently finishing edits on “Pandas Workout,” a similar collection of exercises using the “Pandas” library for data analytics.

Reuven’s free, weekly “Better developers” newsletter, about Python and software engineering, is read by more than 30,000 developers around the globe. His “Trainer weekly” newsletter is popular among people who give corporate training.

Reuven’s most recent venture is Bamboo Weekly: Every Wednesday, he presents a problem based on current events, using a public data set. And every Thursday, he shared detailed solutions to those problems using Pandas.

Reuven’s monthly column appeared in Linux Journal from 1996 until the magazine’s demise in 2019. He was also a panelist on both the Business of Freelancing and Freelancers Show podcasts.

Reuven has a bachelor’s degree in computer science and engineering from MIT, and a PhD in learning sciences from Northwestern University. He lives in Modi’in, Israel with his wife and three children.