Understanding and mastering Git by Reuven M. Lerner

Understanding and mastering Git

Finally! Understand Git, and how it works

Get access for $250

Overview

Consultant Jonathan Stark says: "Get this course!"

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

What's included?

Video Icon 80 videos File Icon 20 files

Contents

Section 1: Introduction to Git
01-intro.mov
5 mins
02-what-is-version-control.mov
10 mins
03 Installing Git.mp4
8 mins
04 The "git" command.mp4
3 mins
05 Repositories.mp4
9 mins
06 git config.mp4
4 mins
07 git global config.mp4
4 mins
Section 2: Staging and committing
08 Adding + committing your first file.mp4
8 mins
08a commit messages and editors.mp4
5 mins
09 More on adding and committing.mp4
6 mins
10 Storing directories.mp4
3 mins
11 Reading commit message and SHA-1.mp4
8 mins
12 Exercises.mp4
2 mins
exercises-1.txt
852 Bytes
13 Exercise solutions.mp4
9 mins
14 Adding + modifying = weird status.mp4
4 mins
Section 3: Git logs and status
15 Basic log viewing.mp4
11 mins
16 Advanced log viewing.mp4
6 mins
17 gitignore.mp4
7 mins
18 git diff.mp4
6 mins
19 Exercises.mp4
3 mins
exercises-2.txt
995 Bytes
20 Exercise solutions.mp4
10 mins
Section 4: HEAD and commits
21 checkout and HEAD.mp4
13 mins
22 Visualizing commits with Sourcetree.mp4
8 mins
23 Git reset.mp4
6 mins
Section 5: Fixing mistakes
24 New commits, git revert.mp4
7 mins
25 Mistake exercises.mp4
3 mins
exercises-3.txt
924 Bytes
26 Mistake exercise solutions.mp4
13 mins
27 Reverting earlier commits.mp4
2 mins
28 Committing with --amend.mp4
4 mins
29 git reset --hard.mp4
4 mins
Section 6: Git objects
30 Git objects.mp4
16 mins
Section 7: Git branches
31 Intro to branches.mp4
12 mins
32 Committing and branches.mp4
9 mins
33 Visualizing branches.mp4
10 mins
34 Branching exercises.mp4
2 mins
exercises-4.txt
754 Bytes
35 Branch exercise solutions.mp4
8 mins
36 When Git won't let you switch branches.mp4
5 mins
37 git diff and branches.mp4
3 mins
38 When the most recent commits are bad.mp4
5 mins
Section 8: Git merges
39 Intro to merging.mp4
5 mins
40 Fast forward merges.mp4
5 mins
41 Exercises with fast forward merges.mp4
2 mins
exercises-5.txt
478 Bytes
42 Exercises with fast forward merges — solutions.mp4
5 mins
43 Merge commits.mp4
10 mins
44 Exercises with merge commits.mp4
2 mins
45 Exercises with merge commits — solutions.mp4
7 mins
46 Deleting and recreating branches.mp4
5 mins
47 Conflicts.mp4
11 mins
48 Exercises with conflicts.mp4
2 mins
exercises-7.txt
644 Bytes
49 Exercises with conflicts — solutions.mp4
9 mins
50 Merge strategy.mp4
7 mins
51 Squash commits.mp4
6 mins
52 Rebase.mp4
9 mins
exercises-8.txt
800 Bytes
53 Rebase exercises.mp4
2 mins
54 Rebase exercise solutions.mp4
10 mins
55 Interactive rebase.mp4
8 mins
Section 9: Hints and tricks
56 Git bisect.mp4
9 mins
57 Git blame.mp4
2 mins
58 Git grep.mp4
4 mins
59 Renaming files.mp4
5 mins
60 Deleting files.mp4
3 mins
61 Restoring files from earlier in history.mp4
5 mins
62 Git stash.mp4
3 mins
63 Git reflog.mp4
5 mins
64 Git tags.mp4
7 mins
Section 10: Git on the network
65 Git on the network.mov
6 mins
66 Creating and cloning on GitHub and Bitbucket.mp4
12 mins
67 Cloned repositories.mp4
6 mins
68 Git push.mp4
5 mins
69 Pulling, pushing, and conflicts.mp4
15 mins
70 Exercises with pulling and pushing.mp4
2 mins
exercises-9.txt
479 Bytes
71 Exercise solutions with pulling and pushing.mp4
9 mins
72 Pulling with rebase.mp4
4 mins
73 Feature branches via GitHub.mp4
5 mins
74 Merging feature branches into master.mp4
3 mins
75 Pull requests.mp4
8 mins
76 Feature merging exercises.mp4
1 min
77 Feature merging exercise solutions.mp4
7 mins
exercises-10.txt
490 Bytes
78 Importing into GitHub.mp4
5 mins
79 Finale.mov
2 mins
Slide PDFs
01 Git introduction.key.pdf
74.3 KB
02 Git staging and committing.key.pdf
105 KB
03 Git log and status.key.pdf
151 KB
04 Git head and commits.key.pdf
447 KB
05 Git fixing mistakes.key.pdf
56.6 KB
06 Git objects.key.pdf
41.4 KB
07 Git branches.key.pdf
473 KB
08 Git merging.key.pdf
447 KB
09 Git useful hints.key.pdf
205 KB
10 Git remote branches.key.pdf
110 KB
11 Git resources.key.pdf
26.6 KB

FAQs

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.

I'm a student. 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.

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.

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.

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.

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.

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.

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.

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.

Because better developers have better careers

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