Reuven Lerner's Python Courses/Understanding and mastering Git

  • $300

Understanding and mastering Git

Finally! Understand Git, and how it works

Get this course, and many others, as part of my LernerPython membership, at https://LernerPython.com.

Overview

So, you've started to use Git — and it seems horribly confusing. Commands that you used in SVN (or other version-control systems) have the same name, but do totally different things. You can't understand why you get conflicts, what's happening when you "push" and "pull," and why you have to add files before you commit them.  And why are there so many different ways to merge?

If the above describes your state of mind, then you're not alone: Git is powerful, and is one of the best tools I've ever added to my programming arsenal.  But it has a steep learning curve, and is hard for many people to use.

I've taught Git to developers around the world, and over that time I've learned that one of the main obstacles to using Git effectively is understanding what it does, and how it works. In this course, I thus not only teach you Git, but how to think in the way that Git wants you to think.  In this way, you'll not only be able to use Git, but to use it effectively -- and to become a more effective, fluent developer, and a more valuable member of your team.

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

Contents

Section 1: Introduction to Git

01 Intro and welcome
02-what-is-version-control
03 Installing Git
04 The "git" command
05 Repositories
Preview
06 git config
07 git global config

Section 2: Staging and committing

08 Adding + committing your first file
08a commit messages and editors
09 More on adding and committing
10 Storing directories
11 Reading commit message and SHA-1
12 Exercises
exercises-1.txt
13 Exercise solutions
14 Adding + modifying = weird status
Preview

Section 3: Git logs and status

15 Basic log viewing
16 Advanced log viewing
17 gitignore
18 git diff
19 Exercises
exercises-2.txt
20 Exercise solutions

Section 4: HEAD and commits

21 checkout and HEAD
Preview
22 Visualizing commits with Sourcetree
23 Git reset

Section 5: Fixing mistakes

24 New commits, git revert
25 Mistake exercises
exercises-3.txt
26 Mistake exercise solutions
27 Reverting earlier commits
28 Committing with --amend
29 git reset --hard

Section 6: Git objects

30 Git objects

Section 7: Git branches

31 Intro to branches
32 Committing and branches
33 Visualizing branches
Preview
34 Branching exercises
exercises-4.txt
35 Branch exercise solutions
36 When Git won't let you switch branches
37 git diff and branches
38 When the most recent commits are bad

Section 8: Git merges

39 Intro to merging
40 Fast forward merges
Preview
41 Exercises with fast forward merges
exercises-5.txt
42 Exercises with fast forward merges — solutions
43 Merge commits
44 Exercises with merge commits
exercises-6.txt
45 Exercises with merge commits — solutions
46 Deleting and recreating branches
47 Conflicts
48 Exercises with conflicts
exercises-7.txt
49 Exercises with conflicts — solutions
50 Merge strategy
51 Squash commits
52 Rebase
exercises-8.txt
53 Rebase exercises
54 Rebase exercise solutions
55 Interactive rebase

Section 9: Hints and tricks

56 Git bisect
57 Git blame
58 Git grep
59 Renaming files
60 Deleting files
Preview
61 Restoring files from earlier in history
62 Git stash
63 Git reflog
64 Git tags

Section 10: Git on the network

For many people, the reason to use Git isn't that they can get access to previous versions, but rather so that they can collaborate with their coworkers and/or on open-source projects.  In this section of the course, I explain how Git works on the network, and how it's a logical extension of everything we've done until now.
65 Git on the network
66 Creating and cloning on GitHub and Bitbucket
67 Cloned repositories
Preview
68 Git push
69 Pulling, pushing, and conflicts
70 Exercises with pulling and pushing
exercises-9.txt
71 Exercise solutions with pulling and pushing
72 Pulling with rebase
73 Feature branches via GitHub
74 Merging feature branches into master
75 Pull requests
76 Feature merging exercises
77 Feature merging exercise solutions
exercises-10.txt
78 Importing into GitHub
79 Finale

Slide PDFs

01 Git introduction.key.pdf
02 Git staging and committing.key.pdf
03 Git log and status.key.pdf
04 Git head and commits.key.pdf
05 Git fixing mistakes.key.pdf
06 Git objects.key.pdf
07 Git branches.key.pdf
08 Git merging.key.pdf
09 Git useful hints.key.pdf
10 Git remote branches.key.pdf
11 Git resources.key.pdf

Become a better developer.

I'm Reuven — and for 20 years, I've spent just about every day teaching Python, data science, and Git at some of the world's best-known companies. 

I've recorded my most popular courses here, for you to learn these skills — even if you don't work for a big company.

After taking my courses, you'll be able to to solve bigger problems in less time — allowing you to do your current job better, or to find a new, better job.

FAQ

What GUI tool do you use?

I don't.  In this course, I teach you to use the Git command line.  That's for a few reasons:
  1. Once you know the commands on the command line, you'll be able to use a GUI without any trouble.
  2. The command line is consistent across all platforms.
  3. All of the Git documentation assumes you use the command line.
That said, I do use SourceTree for visualizing repositories and what's happening with them.  You don't have to use SourceTree to enjoy this course, but I do like the way it makes things look.

What if I have more questions?

Just e-mail me at reuven@lerner.co.il, and I'll try to answer as quickly as possible.

Can I buy this course for my team at work?

The course, as sold here, is for individuals.  However, e-mail me (at reuven@lerner.co.il) if you want to make a group or team purchase, and I'll provide you with an appropriate discount code for each team member to use.

I bought a previous version of this course, a live recording from the summer of 2017. Do I have to pay for this course?

Not at all!  E-mail me, and I'll send you a coupon code for a free upgrade. My "forever free" policy applies to upgrades and updates to my courses, including this improved version of my online Git course.

Wow, this course seems really long and expensive.

I've taught Git for more than a decade to engineers at companies around the world.  While it's possible to learn Git in less time or with less detail, this course represents what I believe to be the best and more comprehensive way to learn to use it.

However, I understand that for some people, the time commitment and/or price might be too steep. For them, I offer a "starter version" of my Git course.  You can always upgrade from that edition to this one by paying the difference in price.

This price is far too high for someone living in my country. Do you offer "parity pricing," or something like it, for people outside of the world's wealthiest countries?

Indeed, I do: If your country is not one of the 30 with the highest per-capita GDP (as indicated here, at https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)_per_capita), then e-mail me.  I'll send you a coupon for 40% off the price, which I believe (hope) makes it more affordable.

Note that this applies to people currently living in one of those non-wealthy countries; not to people originally from there.

I'm a student or pensioner. Can I get a discount?

I know very well what it's like to be a student on a limited budget; I spend 11 years (!) on my PhD.  So yes, as with all of my products, there's a student discount.  E-mail me (reuven@lerner.co.il), and I'll send you the appropriate coupon code.

I'm not yet a pensioner, but I understand what it's like to be on a fixed income -- and you can get a discount, too!  Again, just e-mail me to get a discount code.

What if I dislike the course?

If you didn't get any value from the course, then just e-mail me (reuven@lerner.co.il) and ask for a refund.

What if you update the course?

My "forever free" policy ensures that once you buy my Git course, you get any and all updates for free.  Forever.

What does this course teach?

This course teaches everything you need to know to use Git on a day-to-day basis, either as part of your work or on your own.  This is the same course that I have given for many years at Fortune 100 companies around the world, and which has helped to jump-start many groups' use of Git.

You'll learn how to think the way Git requires, to use GIt's commands, and to work with Git on the network using GitHub (or any other system you prefer).

I am convinced that if you go through the course, including the many exercises, you'll have a strong understanding of Git and will be able to use it effectively.