Course Details

Welcome to Git for Everybody!

AKA. Git Essentials, the updated version for the modern web developer.

This is a course that will teach you everything you need to know about working with Git and GitHub.

By the end of this course you will have the knowledge and confidence you need to work in a team.

I've worked with several teams over the years and everything you'll learn in this course is what I tend to use almost every day and certainly every week.

Here's the rough outline of everything you'll learn in this course:

  • How to use Git on the command line (pro tip: it's more important to learn Git from the command line first than it is to learn how to use a visual tool. Servers don't have visual programs 😉)
  • Installing Git on Windows, Mac and Linux
  • How to configure Git on your computer, and add your SSH key
  • Creating, cloning and adding files to a GitHub repository
  • Managing files, commits and branches ⭐️
  • How to merge branches into other branches ⭐️⭐️
  • How to view old files from an older time
  • Viewing file differences and how to ignore certain file types
  • Forking repos (repositories) ⭐️⭐️⭐️
  • How to work on GitHub by:
    • Creating custom branches and tags
    • Opening and managing GitHub issues
    • Opening and managing pull requests
  • How to undo a little work, and a lot of work
  • How to rebase ⭐️⭐️⭐️⭐️
  • How to work through merge and rebase conflicts ⭐️⭐️⭐️⭐️🎉
  • And much much more!

Plus we'll work through lots of real life examples together and get you hands on experience with all of this by creating your own repositories, forking my repo, and even safely opening a pull request on my work for some seriously hands on experience (because Git is better learned by doing).

And if you're still not convinced you'll learn some cool things in this course, free free to take the totally free version of this course. There are videos from this course that are entirely FREE on Git for Everybody


This course is also available on Check it out here.


Welcome to Git Essentials
Free Lesson
1m 39s

Welcome to this course. Here's a very brief overview of what we'll be working on together, and what you'll learn along the way.

Why the command line?
1m 51s

Let's talk about how learning the command line method will set you up for success in the future

Installing Git (Windows Only)
Free Lesson
2m 29s

How to install Git on your Windows computer

Installing Git (MacOS and Linux)
Free Lesson
4m 06s

How to install Git on Mac and Linux computers

Getting started with GitHub
2m 56s

Let's jump into GitHub! GitHub is a free service for your public projects.

Configuring Git on your computer
Free Lesson
2m 07s

Configuring git on your computer will tell GitHub, GitLab, and other services who you are. It's how you digitally sign your work.

Creating and adding an SSH Key
4m 49s

SSH keys let you bypass entering your username and email address every time you want to make a change. Don't worry, SSH keys are just as safe as entering your password.

How to clone a repository
Free Lesson
3m 17s

Let's take a look at the "git way" to copy files from GitHub to your computer

How to create a new repository on GitHub
4m 53s

Create a brand new repository on GitHub and add your first file to it!

How to push to your GitHub repository
Free Lesson
8m 42s

Learn how to add new files to your repository and get them to show up on GitHub

Git status
4m 48s

`git status` is the most popular command you'll use when using Git. You'll need to know it well.

Unstaging a file
2m 25s

What happens if you accidentally stage a file for a commit? Let's explore how to undo this.

Undeleting a file
3m 22s

Git is a magical program. It's so magical it can even bring files back from the dead. But there's one caveat..

Git origins and remotes
3m 31s

Learn what a git remote and git origin is. You'll need to know this when working on open source projects.

Git branching
4m 08s

Branching allows us to safely make changes to our codebase without having to effect everybody on the team. It's the safest method to writing code in teams.

Committing to a new branch
4m 08s

Branches share their main code base with the master branch. But pushing your changes to GitHub is a slightly different process. But it's easier than you expect!

Merging a branch into master
3m 43s

Merging is how you mix the code from one branch and mix it into another branch. It's an essential skill when using branches and working in teams.

Seeing your Git history
2m 17s

Git lets you travel through time and see your old work (and other peoples older work).

Downloading updates from GitHub
9m 50s

When working with other people, sometimes they will add work to GitHub that you don't have yet. You'll need to download those updates frequently, and here's how.

How to get updates from GitHub
5m 35s

Occasionally you'll want to see what updates are available in your branch but you might not be ready to apply them yet. Here's how we take a sneak peak into the future of our codebase.

Checkout: code-time travel
9m 24s

With git, because it's a version control system, you can essentially go back in time and look around the codebase. files
2m 37s

Readme files are one of the most common types of files you'll see in most git repositories. In this video we take a look at what they are, what goes into them, and how they work.

Viewing file differences
4m 04s

Git allows us to see the changes we've made in a file. There's no possible way we can remember all of our changes, but that's OK because git will keep track of it all for us.

How to ignore files
2m 25s

In a larger project you'll want to avoid adding useless files. In this lesson we'll dive into automating this so we never accidentally commit the wrong file like passwords, todos, or entire databases.

Create a custom Git alias
1m 52s

Git lets you create custom commands. In this lesson we'll create a custom git alias and improve our standard logging tool.

Fixing Git commit messages
2m 04s

We all make typos, it's a fact of life. But that doesn't mean you need to live with them. Learn how to fix a typo in a git commit.

How to fork a repo
4m 10s

Forking is an insanely important part of using Git and services like GitHub and GitLab

Git issues
3m 37s

Issues are a somewhat mislabelled feature, but they are incredibly important when working with other people. Let's demystify this feature.

How to open a pull request
9m 33s

Pull requests are going to be a common feature and tool you'll use when working in a team. This is the official method for asking, "Can I mix my code into yours?"

Undoing a commit
5m 34s

We've all accidentally made a commit we wish we could take back. Maybe it was missing files, maybe it was work on the wrong branch. Either way, let's undo it!

Force pushing
5m 56s

Force pushing is dangerous, and occasionally required. Learn about the dangers and uses of a force push. (I really wish this was a Star Wars reference!)

How to rebase
5m 05s

Rebasing is similar to a merge, but it's how the pro's do it. There are pros and cons to using a rebase over a merge, and we'll explore all of that together in this lesson.

Resolving merge and rebase conflicts
15m 44s

When you try to merge/rebase code into other branches or other repos, and you and someone else has made a change on the same line.. you'll get a conflict! Let's resolve them both now!

How to stash code

Stashing code is kind of like a temporary save feature. It lets you save all your work, work on other files, and come back exactly where you left off. It's a life-saving tool for every developer.

Adding tags to your commits
7m 32s

Tags are used less often than other features in this course, but they can be incredibly useful especially when it comes to adding version numbers to your project.

Final lesson
4m 52s

A summary lesson of what we've learned, and additional resources for you to use after this course! Check the description for links! 🎉🎉

Sign up for our newsletter

Get notified about new lessons :)

Our Sites