Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Git Mindset: Underlying Architecture of Git in Simple Terms
Rating: 4.6 out of 5(252 ratings)
2,313 students

Git Mindset: Underlying Architecture of Git in Simple Terms

Gain a deep intuition of the Git version control system, simplified through story telling
Last updated 9/2021
English

What you'll learn

  • How to use Git to manage your project
  • How to collaborate with other developers using Git
  • The core concepts underlying Git through storytelling
  • How Git works under the hood
  • How to study the history of your project for learning and troubleshooting
  • Effectively use Git commands in the command line

Course content

6 sections50 lectures6h 3m total length
  • What you'll learn in this course4:06
  • Introduction1:06

    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.

  • Introducing Ana's workflow5:57

    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.

  • Basics of Hashing4:25

    In this lecture, I'll explain some basics of hashing. We'll need these concepts for the next lecture.

  • Ana hashes out a plan to gain efficiency9:52

    In this lecture, we'll go over how Ana uses hashes to reduce duplication of files across commits.

  • Review of concepts discussed so far
  • Blake joins the team5:56

    In this lecture, Ana helps Blake (a new contributor to UsChat) onboard. I'll introduce the concept of diffing commits.

  • Diffing and Patching18:41

    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.

  • Review of diffing and patching
  • Blake submits his first contribution4:44

    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.

  • Hashes make a second entrance9:20

    In this lecture, Ana and Blake come up with a way to avoid commits getting overwritten when syncing with the SFTP server.

  • Review of concepts discussed so far
  • Ana and Blake package up their Version Control System1:50

    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.

  • Summary1:06

Requirements

  • The ability to install software on your computer

Description

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


Who this course is for:

  • Anyone new to Git
  • Anyone who uses Git already, but interested in gaining a deeper intuition about Git
  • Anyone who interacts with the software development lifecycle
  • Anyone interested in managing historical versions of their project