This class is about Git, the most popular version control system in the world. Students will learn some of the most used and important git commands and the concepts behind them. They’ll also learn how to upload their code to Github and how to host a site using the free GitHub pages service.
The whole class revolves around the step-by-step integration of Git in a provided project. By the end of the class, each student is expected to have their very own website hosted at a real URL that they can share with friends, family, and followers. No prior programming experience or experience with Git is required to take this class.
Introduction: A little bit about who I am, and what led me to learn Git, and how it has helped in my career as a software developer.
Setting up Git: In this short video, you'll learn how to setup Git on your computer in accordance with the operating system you are on. It's way simpler than it sounds.
Introduction to Command Line: In this video, you'll understand the concept of CLI and what's the difference between CLI and GUI. You'll also learn how you can operate your computer much faster using the terminal and the basic commands to do so. Since Git is primarily a CLI tool, this video will warm you up for the things to come.
What is Git and Setting up the class project: The class is heavily relied on working on a project to give you an intuition about Git. In this video, I tell you how to set up the class project and also what qualifies as a successful project submission. We'll also to try to get a glimpse Git in this video.
Git init, add, status, diff, and The Staging Area: We'll start off with the most basic git commands and how to use them in the project. In this video, you'll also learn the concept of the staging area and how it allows you to undo changes and gives you the freedom of creativity and exploration in your projects.
What is Vim?: In this very short introduction to vim, you'll understand what it is and the very basic usage of it. Since we'll be encountering vim in the rest of the class that follows. In this video, you'll get yourself comfortable using it and save yourself from being confused when it shows up.
Git checkout, commit, log, and Working in Chunks (1/2): First of all, in this video, we'll understand how working on software projects can be managed by splitting the whole projects into chunks. Then we'll see how Git helps with this approach. In this video you'll three more of the most commonly used git commands. And also, some shortcuts.
Git checkout, commit, log, and Working in Chunks (2/2): As a continuation of the last video, in this video, you'll get more comfortable committing code, look at how commits are organized, and understand when is the right time to do so and also look at some more shortcuts for long commands.
Git branch, merge and The concept of branching: You'll understand what branching means and when to do it and how it keeps your main codebase free from errors and unintentional changes. You'll also learn two more of the most common Git commands.
Understanding merge conflicts and how to resolve them: Merge conflicts are a common occurrence, in this video you'll learn why they occur and how to resolve them.
Remote repositories and uploading project to GitHub: You'll understand the concept of remote repositories and also you will upload your code to your GitHub profile using the command line.
Publishing site on GitHub pages: You'll be finally publishing your site to the web and getting a unique URL to your website. This is the class, when you're once done you can take a screenshot and submit it.
Conclusion: Just thanking you for taking this class, hoping you learnt something and where you can reach out to me.
Setting up Git
Introduction to Command Line
What is Git and Setting up the class project
5. Git init, add, status, diff, and The Staging Area
6. What is Vim?
Git checkout, commit, log, and Working in Chunks (1/2)
Git checkout, commit, log, and Working in Chunks (2/2)
Git branch, merge and The concept of branching
Understanding merge conflicts and how to resolve them
Remote repositories and uploading project to GitHub