Git Essentials — The step-by-step guide to Git mastery
4.8 (57 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
311 students enrolled

Git Essentials — The step-by-step guide to Git mastery

Learn how to use Git and GitHub like a pro by mastering the daily Git workflow that every developer uses.
4.8 (57 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
311 students enrolled
Created by Kalob Taulien
Last updated 5/2020
English
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3.5 hours on-demand video
  • 5 articles
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • How Git and GitHub work
  • Learn the entire daily workflow that most developers use
  • Install git on Windows, Mac and Linux
  • Configure SSH for authentication
  • How to clone a GitHub repository
  • Create and use a remote repository on GitHub
  • How to add files to your own GitHub repository
  • Creating git branches
  • How to resolve merge conflicts
  • GitHub issues
  • How to fork a repo
  • GitHub pull requests
  • Staging, committing and pushing files to GitHub
  • Viewing your Git history
  • Git on the command line
  • How to merge git branches
  • View file changes before committing
  • How to fix typos in commit messages
  • How to resolve rebase conflicts
  • How to rebase
  • How to stash your code
  • How to add, delete and list tags
  • What to learn after you've learned Git
Course content
Expand all 50 lectures 03:22:56
+ Introduction
2 lectures 03:24

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.

Preview 01:39
+ Beginner Git
23 lectures 01:31:50

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

Preview 01:50

How to install Git on your Windows computer

Preview 02:29

How to install Git on Mac and Linux computers

Preview 04:06

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

Preview 02:55

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

Preview 02:07

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.

Preview 04:48

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

Preview 03:16

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

Preview 04:53

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

Preview 08:42
In this assignment you'll create a new repo, add it to your computer and send a brand new file to GitHub!
Setting up your first repository
2 questions

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

Preview 04:48

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

Preview 02:25

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

Preview 03:21

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

Preview 03:30

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.

Preview 04:07

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!

Preview 04:07

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.

Preview 03:43
In this assignment you'll have to create a new branch and merge it into master.
Merging a branch into master
4 questions

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

Preview 02:16

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.

Preview 09:50

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.

Preview 05:35

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

Preview 09:23

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.

Preview 02:36
+ Advanced Git
14 lectures 01:15:44

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.

Viewing file differences
04:04

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.

How to ignore files
02:24

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

Create a custom Git alias
01:51
The git alias code
00:17

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.

Fixing Git commit messages
02:03

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

How to fork a repo
04:09
Forking is an important part of Git and GitHub/GitLab/Bit Bucket. Let's fork a repo!
Fork your first repository
1 question

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

Git issues
03:36

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?"

How to open a pull request
09:32

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!

Undoing a commit
05:34

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!)

Force pushing
05:56

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.

How to rebase
05:04

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!

Resolving merge and rebase conflicts
15:43

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.

How to stash code
07:59

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.

Adding tags to your commits
07:32
+ BONUS: Launching Your Website With GitHub Pages
9 lectures 26:53
Welcome to Launching Your Website Using GitHub Pages
00:33
Creating a "special" repository
02:32
Downloading (cloning) your repository
03:13
Creating your first file
02:25
Pushing file to GitHub
02:40
Viewing your website
02:29
Making your website beautiful
04:40
Adding your custom projects
07:22
Project Summary
00:59
+ Summary
2 lectures 05:04

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

Final lesson
04:51
Additional Free Learning Resources
00:13
Requirements
  • Basic computer skills
  • Ability to install software on your computer
  • An internet connection
  • No command line experience is required
Description

Welcome to Git for Everybody / Git Essentials

This is the updated 2020 version for the modern web developer and this course supports Windows, Mac and Linux users.

In this course you learn 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:

  • Apply for a job

  • Work in a team

  • Work on open source projects

Git is the secret tool that almost every developer uses but nobody talks about. It's such a commonplace tool that it's rarely mentioned on job postings because it's assumed that, no matter what your skill level is, that you KNOW how to use Git and GitHub.

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

To learn how to use Git and GitHub does not take 10, 8 or even 6 hours. The truth is Git is a complicated program, but using Git is easy! 

There are a number of commands you'll use every day, and a few more commands you'll see once or twice a week. Beyond that, you would be learning advanced Git that you'll never use, ever! Don't get stuck learning tools and commands that you'll never use. By taking this course, you are going to learn all the important aspects of Git and GitHub, and you won't be wasting 6+ hours learning things you'll never use.

This course is designed to teach you Git the way the it's used everyday by a developer who uses it every day.

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'll get 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).

As an added bonus, you'll also learn GitHub fundamentals — and everything you learn about Git and GitHub is completely transferable to GitLab and Bit Bucket! 

How to tell if this course is for you:

Have you never used Git or GitHub?
Have you ever wondered how Git works? 
Have you ever gotten stuck using Git? 
Have you ever needed to ask for help when using Git?
Have you ever ran into a tricky Git conflict?
Have you ever wondered how to efficiently use GitHub?

If you answered yes to any of the questions above, this course is 100% for you.

And if you're still not convinced you'll learn some cool things in this course, feel free to watch the first 20+ videos for free — I've enabled so many free previews in this course because I'm convinced you'll walk away feeling excited and confident about your new Git skills! 

Who this course is for:
  • Developers or programmers who will be working with teams
  • Developers or programmers who want to work on open source projects
  • Developers or programmers who want to get a job at a company