
In this section, I explain the usefulness of storytelling as a mechanism for learning. I introduce you to the contents of this section, which revolve around Amy and her colleagues and how they iterate on their workflow and will ultimately converge on a workflow highly resembling Git.
In this lecture, we'll start with Ana's simple workflow. We'll then go over how Ana realizes the need for checkpointing and backing up her work and how a simple change to her workflow gives her both those abilities.
In this lecture, I'll explain some basics of hashing. We'll need these concepts for the next lecture.
In this lecture, we'll go over how Ana uses hashes to reduce duplication of files across commits.
In this lecture, Ana helps Blake (a new contributor to UsChat) onboard. I'll introduce the concept of diffing commits.
In this lecture, we'll learn about the core ideas behind diffing and patching. We'll also get some hands-on experience with the Unix utilities diff and patch.
This lecture details how Blake uses the diff and patch commands to get his work incorporated into the main line of work maintained by Ana.
In this lecture, Ana and Blake come up with a way to avoid commits getting overwritten when syncing with the SFTP server.
In this lecture, Ana and Blake package up their Version Control System (VCS) to be used by others. It acquires a more mature user interface and starts to resemble Git even more.
Understand Git as a distributed version-control system that tracks every change in your codebase and beyond, enabling concurrent contributions and preserving full history of source code.
Install Git on a Windows PC using git-scm, choose Windows download, run installer, switch the editor from Vim to a friendlier option, and verify with git --version using Git Bash.
In this lesson, I'll go over some basic command line utilities and concepts that you need to know to follow the rest of the material.
In this lesson, we resume where we left off in the last lesson and learn some more basic command line utilities and concepts that you need to know to follow the rest of the material.
Create your first git commit by adding a readme, staging with git add, and writing a clear commit message; configure your name and email to set the author.
In this lecture, we'll inspect the commit we created in the last lecture. In the process, we'll learn a bit about how Git stores commits internally. We'll also learn some Git commands that help us inspect commits.
In this lesson, we're going to create a second commit as a successor to our head commit. We'll examine that commit as well and learn a bit more about Git. Specifically, we'll learn more about Git's internal representation of commits, git show, git log and git help.
In this lesson, we're going to learn about the staging area and how it can help us be more explicit about which changes get included in our commits.
In this video, I provide the solution to the exercise left at the end of the last lesson.
In this lesson, we reset our repository to a state before we made the last 2 commits. This lesson will introduce us to the git reset command and to the idea of rewriting history.
In this lesson, we learn about git add's interactive adding capabilities. We use it to carefully stage a very precise list of changes.
In this lesson, I will introduce you to the git diff command and explain how to use it to study the staging area.
This lesson is an introduction to the git checkout command. We'll use git checkout to briefly navigate the history of our project.
Build on basic git usage by crafting careful commits and studying them, while uncovering key concepts that expand the core functionality of git as the story continues.
In this video, I recap the story from section 2, so we can pick it back up.
Ana and Blake take Tig out for a test drive after all those tweaks and analyze problems with it.
Blake explores a multi-reference workflow with a refs directory, heads, and remotes, and extends tig to visualize the dag and support branching.
Explore the master branch as the default refs/heads/master that HEAD points to, and note git init's option to name the initial branch, with awareness of term changes.
Explore how to navigate git history with git log, using graph, --all, and file-level filters, to locate changes, understand ancestry, and study diffs.
Explore fast-forward merging in git by simply updating the master branch to the head of add-idiom-puns when master has no new changes.
Clone a repository with git clone to copy from the sftp server to your computer, creating a hello git clone directory with the same files as the original.
Learn how git push updates remote refs and transfers commits from your master branch to the origin, and understand the default push behavior and the centralized workflow.
This course is designed to help you gain The Git Mindset. Using mechanisms like storytelling, hands-on-labs and quizzes, you'll gain a deep intuition about Git. To follow this course, you don't need any prior knowledge.
The course uses a story to explain not only what Git does, but also how it does those things and why it was designed that way.
Note: This course is up-to-date and uses the newer commands (switch and restore) introduced in Git 2.23.
Gitting the hang of it - Building intuition about Git
This section goes over the story of the smallest team with the simplest workflow - a lone developer named Ana who's working on her software project on her personal machine. Over time, we'll introduce additional requirements like the need to manage historical versions, the need to create backups, the need to collaborate with additional team members etc. Each of these requirements will lead to a change in the version control system and eventually this fictitious version control system (Tig) will have evolved into something very much resembling Git. This section will help you internalize the core concepts of Git with ease.
Gitting our hands dirty! - studying Git basics
We'll take a break from learning the core concepts of Git and try using Git ourselves. This entire section is a series of labs where you'll follow along and get hands on experience with Git. You'll find that the previous section has prepared you with enough core concepts that you'll find everything quite straight forward. By the end of this section, you'll know how to craft commits with care and how to study them.
The team Gits going again!
This section will resume the story of Tig. This time, we'll use storytelling to arrive at the concepts of branching and merging. The story will help you not only understand what branching and merging are, but also how they work and what kinds of problems they help us solve.
Let's Git back into it - resuming our study of Git
This section takes the concepts illustrated through a story in the last section and shows you how they apply to Git. By the end of this section, you'll be comfortable with branching and merging in Git. You'll know how to navigate the history of your project with ease. This will help you greatly with navigating new codebases and in troubleshooting bugs.
Dealing with remotes
This section shows you how to manage Git remotes and how to transfer information between them. The concepts covered in this section are essential for effectively managing your repository through source code hosting providers like Github, Bitbucket, Gitlab etc.
By the end of the course, you'll truly understand Git and you'll be able to use it like it's second nature.
This course comes with a 30-day money back guarantee. No questions asked.
--------------------------------------------------------------------------------------------------
All emojis designed by OpenMoji – the open-source emoji and icon project. License: CC BY-SA 4.0