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:
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 Skillshare.com. Check it out here.
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.
Let's talk about how learning the command line method will set you up for success in the future
How to install Git on your Windows computer
How to install Git on Mac and Linux computers
Let's jump into GitHub! GitHub is a free service for your public projects.
Configuring git on your computer will tell GitHub, GitLab, and other services who you are. It's how you digitally sign your work.
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.
Let's take a look at the "git way" to copy files from GitHub to your computer
Create a brand new repository on GitHub and add your first file to it!
Learn how to add new files to your repository and get them to show up on GitHub
`git status` is the most popular command you'll use when using Git. You'll need to know it well.
What happens if you accidentally stage a file for a commit? Let's explore how to undo this.
Git is a magical program. It's so magical it can even bring files back from the dead. But there's one caveat..
Learn what a git remote and git origin is. You'll need to know this when working on open source projects.
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.
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 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.
Git lets you travel through time and see your old work (and other peoples older work).
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.
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.
With git, because it's a version control system, you can essentially go back in time and look around the codebase.
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.
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.
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.
Git lets you create custom commands. In this lesson we'll create a custom git alias and improve our standard logging tool.
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.
Forking is an insanely important part of using Git and services like GitHub and GitLab
Issues are a somewhat mislabelled feature, but they are incredibly important when working with other people. Let's demystify this feature.
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?"
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 is dangerous, and occasionally required. Learn about the dangers and uses of a force push. (I really wish this was a Star Wars reference!)
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.
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!
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.
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.
A summary lesson of what we've learned, and additional resources for you to use after this course! Check the description for links! 🎉🎉