
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
Clone your code from GitHub to your computer to copy a repository, making it easier to work with files, then download git on Windows, Mac, or Linux and configure git.
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.
Create your first public repository on GitHub, initialize with a README, and name it username.github.io to enable versioned code storage and GitHub pages.
Clone your repository to your computer with git clone, choosing https or ssh. Access the readme file, edit locally, then commit, push, and pull to stay in sync.
Create your first file in the repo, commit it, and review the code history with git log. Open in VS Code, pull from origin master, and push to GitHub.
Learn to synchronize local work with GitHub by using git status, git add --all, git commit, and git push origin master; understand staged (green) and unstaged (red) changes.
View your site on GitHub pages to verify deployment from the master branch, confirm the published URL, and ensure the repo name is spelled correctly.
Build a live website by integrating a bootstrap theme, ensuring https with ssl, pushing assets to a GitHub project, and publishing to GitHub pages, while tracking changes with git commands.
Add two custom projects (model and calculator) by creating Motile and calculator folders, linking with relative paths, and pushing to GitHub pages.
Create a GitHub Pages website from scratch and share your work in the learning to code Facebook community to receive feedback, help, and tips to improve interactivity.
A summary lesson of what we've learned, and additional resources for you to use after this course! Check the description for links! ??
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!