Learn the 20% of Git that will give you over 80% the benefit of Git.
All in under two hours.
This is the ONLY Git course you need to get started with Git.
After watching this course you’ll have everything you need to use Git to do your day to day job as a developer, admin, designer or anyone who needs to work with Git.
You’ll know how Git works, why it works the way it does and how to utilize the commands and why they’re being used.
Everything I teach you in this course is what I use every day to do my job as a software engineer (I’ve been using Git for close to 14 years).
Let’s face it, Git is confusing if you’ve never used it before.
When you first get introduced to Git you will hear a bunch of terms like ‘commit’, ‘origin’, ‘branch’, ‘hash’, ‘merge’, ‘origin’, ‘upstream’ (and many more) and you’re instantly confused.
I know this first hand. It took me a ton time to really understand how Git worked – I had to learn it from many sources.
This is the course I wish I had when I was learning Git.
If you want an actionable course that shows you how to use Git without the deep technical nuances and long winded explanations, then this course is for you.
I’ll teach you how to work with Git from the command line, from the start.
We’ll work with text files that you can create as you follow along. You’ll learn how to commit, log, stash, branch, merge and much much more.
What You’ll Need to Get Started
- A computer with Git installed (install instructions).
That’s it. From there we’ll dive into git from the command line and you’ll learn the Git.
This course gets right to the point from the start.
Why I Know This Works
Prior to this course being released to the public I would use this same material and teach Git to teams at companies all over the world. From small startups to Fortune 500 companies and more, this course has proven to be a smash hit for everyone who’s watched it.
This course has taught thousands of people how to use Git. If its worked for them, it will work for you.
What You’ll Learn
In this course you will learn how to use the following commands:
- git status
- git init
- git log
- git add
- git commit
- git checkout
- git merge
- git branch
- git stash
- git clean
- git cherry-pick
- git push
- git pull
- git fetch
- git diff
- git mergetool
- git show
- git clone
- git remote
You’ll learn why each of these commands is used and how to utilize them via the command line.
Still not sold on it?
Check out the course table of contents below. Each section has a clickable link that will take you directly to that portion of the video where that topic is covered.
I hope you enjoy the video and learn something from it.
Course Table of Contents
00:00 Intro
01:10 What is Git?
07:50 What can Git store?
08:40 Storing large files in Git (Git LFS)
11:08 The 80/20 of Git commands
13:00 The Terminal Environment
14:04 Checking your version with `git —version`
14:39 Using `git status` in an empty directory
15:20 Creating a repo with `git init`
16:25 The .git folder
18:00 Understanding `git status` in a newly initialized repo
18:20 Adding and committing with `git add` and `git commit`
21:12 Inspecting the files in a file explorer
21:39 Viewing file changes with `git diff`
23:50 New & modified file statuses with `git status`
24:48 Understanding and saving time with `git commit -am`
29:15 Diffing with an external tool (VS Code GitLens)
32:47 How `git commit -am` helps you
33:44 How git tracks changes in files
36:09 Viewing commit logs with `git log`
37:26 Short git hashes with `git log —abrev-commit`
39:37 Viewing the current branch with `git branch`
41:20 Creating branches with `git checkout -b`
42:40 Managing files in different branches
45:06 Why branching matters
46:15 Branch naming (feature, bugfix, hotfix)
49:47 Fixing a bug in a branch
50:44 Merging branches with `git merge`
54:12 Deleting branches
56:23 Merging master into a branch with a merge commit
1:01:07 Diffing between branches
1:03:42 Merge Conflicts – Forcing a merge conflict
1:07:22 Inspecting Merge Conflicts with the CLI
1:09:06 Resolving Merge Conflicts with VS Code
1:10:34 Resolving Merge Conflicts with WebStorm/Android Studio/IntelliJ/PyCharm/etc
1:12:45 Resolving Merge Conflicts with `git mergetool` and an External Tool (DiffMerge)
1:14:43 Committing the merge conflict changes
1:16:26 The .gitignore file
1:19:28 Using gitignore.io to build your ignore file
1:21:12 Understanding git remotes
1:22:04 Adding an origin remote with `git remote add …`
1:23:57 Pushing to a remote repository with `git push`
1:25:13 Pushing a branch to a remote
1:25:59 Creating a pull request on GitHub
1:28:59 Reviewing and Merging a Pull Request on GitHub
1:31:19 Diffing between local and remote repositories
1:31:45 Fetching changes from a remote with `git fetch`
1:32:25 Pulling the changes from a remote with `git pull`
1:32:38 Cleaning up local branches
1:34:00 Starting a new feature
1:35:00 Create Pull Request Shortcut
1:35:18 Merging the Pull Request and pulling the changes locally
1:35:53 Inspecting the logs to view branch and merge history
1:36:31 My `git lg` alias
1:37:52 Using `git show` to inspect a commit
1:38:16 My git configuration file
1:39:48 Viewing authors with the git authors alias
1:40:45 Using `git clean` to remove untracked files
1:43:39 Undoing changes with `git checkout`
1:45:21 Stashing and popping changes with `git stash`
1:53:20 Pulling commits to other branches with git `cherry-pick`
1:57:51 Thank you
Links to Tools I Use In This Course
- Installing Git
- My Git Config and Env Setup
- VS Code
- GitLens for VS Code
- DiffMerge (my external diff/merge tool of choice)
- iTerm2
- Fish Shell
- GitIgnore