← Back to Mission Control

The Navigation System

5 min read

What is Git?

Mission Phase 2 • Difficulty: Beginner

Understanding Your Spacecraft's Brain

Git is your spacecraft's navigation system—a sophisticated tool that tracks every position, every maneuver, and every course correction you make on your journey through code development. But what exactly is it, and why do we need it?

The Problem Git Solves

Imagine you're working on a critical system for your spacecraft. You've got the navigation working perfectly. Then you decide to add a new feature—automated course correction. You spend hours coding, and suddenly... nothing works. The navigation is broken, and you can't remember exactly what you changed.

Without Git, you're stranded in space. With Git, you simply travel back in time to when everything worked, examine what changed, and fix the problem.

What Is Git?

Git is a distributed version control system. Let's break that down using space terminology:

Git's Core Philosophy

Git was created by Linus Torvalds in 2005 to manage the Linux kernel—one of the largest and most complex software projects in existence. He designed it with specific goals:

How Git Thinks

Most systems think of files as a list of changes over time. Git thinks differently. It takes snapshots of your entire project at specific moments.

Think of it like this: Instead of recording "adjusted thruster by 3 degrees at timestamp X," Git takes a complete photograph of all your spacecraft systems at each important moment. These photographs are called commits.

The Three States

Files in your Git repository can exist in three states, like stages of a rocket launch:

  1. Modified (Working Directory): You've changed files, but haven't locked them in yet—like making adjustments before committing to a course correction
  2. Staged (Staging Area): You've marked changes to be included in the next snapshot—like systems ready for the next mission phase
  3. Committed (Repository): Changes are safely stored in your database—like official mission logs that can't be altered

Git vs GitHub: Understanding the Difference

This confuses many new astronauts, so let's clarify:

You can use Git without GitHub. But GitHub (and similar services like GitLab and Bitbucket) adds powerful collaboration features that make team missions possible.

Why Git Became the Standard

Before Git, there were other version control systems—CVS, Subversion, Mercurial. But Git won the adoption race because it:

What You'll Be Able to Do

Once you master Git, you'll be able to:

The Learning Curve

Git has a reputation for being difficult to learn. This is partly true—it has a steep initial learning curve. But here's the secret: you don't need to learn everything at once.

About 90% of your daily work will use the same 10-15 commands. Learn those well, and you'll be productive immediately. The advanced features are there when you need them, but you can grow into them over time.

Git's Local Power

One of Git's most powerful features is that almost everything happens locally on your machine. This means:

It's like having a complete copy of all mission logs on your spacecraft, rather than having to radio mission control for every piece of information.

Ready to Install Your Navigation System?

Now that you understand what Git is and why it's essential, you're ready to start using it. In the next mission phase, we'll dive deeper into version control concepts before installing Git on your system.

Key Takeaway: Git is a powerful navigation system for your code. It tracks every change, enables time travel through your project history, and makes collaboration possible. You don't need to master everything at once—learn the basics well, and build from there.