← Back to posts

Apr 06, 2026

Still Don't Understand How Git Works?

Staging, committing, and branching explained through something you already do every morning

Hi Friends,

Happy Monday! Take a look at today’s edition:

What’s Inside How Git maps perfectly to organizing your closet. From trying on outfits (working directory) to packing a suitcase (commits) to keeping a whole separate wardrobe for experiments (branches). If you can get dressed, you can understand Git.

Why You Should Subscribe: I write about software development the way I wish someone had explained it to me. Through real things, not textbook definitions. If you’re learning to code, pivoting into tech, or just tired of documentation that reads like a legal contract, this is your spot.

Of course, be a kind human and support the blog by subscribing!




I used to be terrified of Git.

Not because I didn’t understand what it did. I knew it tracked changes. I knew it let you undo things. But every time I opened the terminal and typed git anything, I felt like I was one wrong command away from destroying my entire project.

So this article is for you if you are feeling this way, as I will describe it to something you use daily. By the end of this, if you can understand the analogy, you’ll understand Git!







The Closet is Your Working Directory
When you open your closet, everything is just hanging there. Options. Possibilities. Nothing is decided yet. You pull a few things out, hold them up, toss some on the bed, put others back.

That’s your working directory. It’s where you make changes to your code before you’ve committed to anything. You’re experimenting. Trying things. Seeing what works together. Nothing is final.

Don’t like that top? Put it back. Same thing in Git. You can discard changes, undo edits, start over. The closet doesn’t judge.

Staging is Laying Out Your Outfit
Once you’ve tried a few things, you start narrowing down. You lay your final picks on the bed. Shirt, pants, shoes, maybe a jacket. You’re not wearing them yet. You’re just saying “these are the ones.”

That’s what git add does. You’re selecting exactly which changes go into your next commit. Not everything you pulled out of the closet makes the cut. Maybe you grabbed a scarf you ended up not needing. Maybe you tried a bold color and decided against it.

Staging lets you be intentional. You’re saying, these specific pieces are ready. The rest stays in the closet.


You’ve laid out your outfit. You’ve put it on. You’ve checked the mirror. You walk out the door.

That’s your commit. It’s a snapshot of your decision at that moment. And just like leaving the house, you want to feel put together. Nobody wants to walk out half-dressed. Nobody wants a commit message that says “fixed stuff.”

A good commit, like a good outfit, tells a story. What you chose and why it works.

Branches Are Separate Outfits for Separate Occasions
Here’s where it gets fun.

Let’s say you have your go-to work outfit. You’ve worn it a dozen times. It’s reliable. Professional. Gets the job done. That’s your main branch.

But you got invited to an event this weekend. You need something different. You’re not going to tear apart your work wardrobe to figure it out. You go to a different section of your closet. You experiment with pieces you’d never wear to the office. If the look comes together, great. If not, nothing about your Monday outfit was affected.

That’s branching. You create a separate space to try something new without touching the thing that already works.

Merging is Adding to Your Rotation
That weekend outfit? It was a hit. People noticed. You felt great in it. Now you want to incorporate some of those pieces into your everyday rotation.

That’s a merge. You take elements from your experimental branch and fold them into main. Sometimes it’s seamless. You just add the new jacket to your regular lineup. Other times there’s a conflict. Maybe you want to wear the same shoes with both outfits and you only have one pair. You have to decide.

Merge conflicts aren’t failures. They’re just moments where you have to make a choice.

Your Cloud Storage is the Remote Repo
Your closet is great, but what if your apartment floods? What if you’re traveling and need access to your wardrobe?

That’s what pushing to a remote does. GitHub, GitLab, Bitbucket. They’re your backup closet. Everything is stored, organized, and accessible from anywhere.

git push Send your outfits to the backup. git pull brings in what others have added. The wardrobe keeps working even if something happens to your local setup.

The reason this analogy works is because both Git and getting dressed reward the same things. Preparation, intention, and not panicking when something doesn’t match.

You don’t need to memorize every Git command. You need to understand the flow.

Browse. Pick. Stage. Commit. Branch. Merge. Push.

Once you see it as a closet instead of a command line, it stops being intimidating and starts being a system you already know how to use.

Now go ship something.

Let’s Build it Beautifully,

Fab