What I learned about GitKit — and Git in general — is that at its core, Git is far more than a simple save system or backup tool. It’s a version control system designed around a clear mental model of where your code lives and how it moves over time. Instead of treating your files as static or scattered across folders and servers, Git defines a structured flow. The video highlights a crucial insight: your code doesn’t just sit on your machine or up in the cloud. It travels through four distinct zones, each with its own purpose.
Once you understand these four zones, commands like add, commit, push, checkout, and merge stop feeling like magical spells. Instead, Git becomes a kind of conveyor belt for snapshots of your work, letting you decide exactly what moves forward, what stays behind, and how your history is shaped. This simple shift in perspective is what makes Git finally “click” for so many learners.
1. Working Directory
This is the space you interact with directly — your actual files on your computer. Nothing Git-specific happens here by default. You write code, delete code, reorganize files, and make changes freely. Git simply observes this area without acting on it until you tell it to.
2. Staging Area (Index)
The staging area is where Git starts to get involved. When you run git add, you’re not saving your work yet — you’re preparing it. Think of this step like placing items in a shopping cart. You can choose exactly what changes you want to include, leaving out anything not ready. This selective process is what gives Git its power: it allows clean, intentional commits rather than chaotic snapshots of everything you happened to edit.
3. Local Repository
A commit moves your staged changes into the local repository, creating a permanent, versioned checkpoint. Each commit is like a frozen photograph of your project at a moment in time. This means you can revisit earlier states, compare versions, undo mistakes, and track progress — all without affecting what’s currently happening in your working directory.
4. Remote Repository
When you push, your commits travel from your machine to a remote server like GitHub, GitLab, or Bitbucket. This is essential for backup and collaboration. Your work becomes shareable, reviewable, and synchronized across teams. Others can fetch or pull these updates, ensuring everyone stays aligned.
This is a four-tier structure — working directory → staging → local repo → remote repo — is the backbone of Git’s design. It provides fine-grained control over your workflow, allowing you to experiment safely, document your progress, and collaborate confidently.
Citation: YouTube. (n.d.). YouTube. https://www.youtube.com/watch?v=e9lnsKot_SQ
From the blog cs@worcester – Software Development by Kenneth Onyema and used with permission of the author. All other rights reserved by the author.