Skip to main content

Command Palette

Search for a command to run...

Git for Beginners: A Real‑Life Friendly Explanation 🌱

Master Git without the jargon, using familiar everyday scenarios.

Updated
6 min read
Git for Beginners: A Real‑Life Friendly Explanation 🌱

1. What is Git?

Imagine you’re writing story in a notebook or in an online google doc.

  • Every day, you improve it.

  • Sometimes you want to go back to an older version.

  • Sometimes two people want to write at the same time.

Git is a tool that helps you do exactly this — but with code and files.

In Simple Words:

Git is a distributed version control system that helps you track changes, save versions, and collaborate safely.

  • Version control → Keeps history of changes

  • Distributed → Everyone has their own full copy

  • System → A tool that manages all of this

So even if the internet is down, or a server crashes, your code history is still safe.

2. Why is Git Used?

Before Git, developers used pendrives, email attachments, or file names like:

project_final_v1
project_final_v2
project_final_real_final

This caused confusion, lost work, and conflicts.

Git solves these problems:

✅ Keeps complete history of your work
✅ Lets you experiment without fear
✅ Makes teamwork easy
✅ Helps you find who changed what and when
✅ Allows rollback to a working version

Git is used by:

  • Solo developers

  • Startups

  • Big companies like Google, Netflix, and Microsoft

3. Git Basics and Core Terminologies

Let’s understand Git concepts using simple language.

3.1 Repository (Repo)

A repository is like a project folder that Git is watching.

It contains:

  • Your files

  • Your full change history

  • Branches and commits

There are two types:

  • Local repository → On your computer

  • Remote repository → On GitHub/GitLab/Bitbucket

3.2 Commit

A commit is a snapshot of your project at a point in time.

Think of it as:

“Save game” in a video game 🎮

Each commit has:

  • A unique ID (hash)

  • Author

  • Time

  • Message explaining the change (A message should be meaningful and should revolve around the task you were working on )

Example:

"Add login validation"

3.3 Branch

A branch is a separate line of development.

  • main (or master) → Default branch

  • Feature branches → New ideas or experiments

Analogy:

Writing different endings of the same story 📖

3.4 HEAD

HEAD points to where you are currently working.

  • Usually points to the latest commit of the current branch

Think of HEAD as:

“Your current position marker” 📍

3.5 Working Directory, Staging Area, Repository

Git works in three areas:

  1. Working Directory → Where you edit files

  2. Staging Area → Where you prepare changes

  3. Repository → Where commits are stored

    1. Local Repository → Saved on your local system

    2. Remote Repository → Saved online

Real-Life Example:

  1. Writing an Exam Answer Sheet

    Think of Git like writing and submitting an exam.

     📝 Working Directory  → Rough Notebook
     --------------------------------------
     - You write your answers freely
     - You can make mistakes and erase them
     - Nothing is official yet
     (git edit files)
    
             │
             │ git add
             ▼
    
     📄 Staging Area  → Selected Answers Sheet
     -----------------------------------------
     - You choose which answers are ready
     - You check and approve them
     - Ready to submit
     (git prepare changes)
    
             │
             │ git commit
             ▼
    
     🏫 Local Repository  → Your Personal Record
     ------------------------------------------
     - Your final answers are stored on your own desk
     - You can review or edit history
     - Safe, but only on your computer
    
             │
             │ git push
             ▼
    
     🌐 Remote Repository  → School Records Server
     --------------------------------------------
     - Answers submitted officially to the school
     - Stored permanently, accessible by teachers/classmates
     - Backup and collaboration
    
  2. Writing a Story

    Think of Git like writing a story.

        ✏️ Working Directory
   (Your notebook — where you write freely)
---------------------------------
You write & edit your story:
- Add characters
- Change plot
- Fix typos
- Experiment freely

          |
          | git add
          v

        📋 Staging Area
   (Selected pages ready to save)
---------------------------------
You pick the parts you like:
- Final intro ✓
- Polished dialogue ✓
- Ending still draft ✗

          |
          | git commit
          v

        📚 Local Repository
   (Saved story on your computer)
---------------------------------
Versioned & permanent locally:
- Chapter 1 saved
- Version 1.0
- Can revert anytime

          |
          | git push
          v

        🌐 Remote Repository
   (Published story online — GitHub, GitLab)
---------------------------------
Backed up and shareable:
- Friends can read it
- Safe from losing your work
- Can collaborate with others

Quick Mapping:

Git StepStory AnalogyCommand
Working DirectoryWriting in notebook
Staging AreaPicking final paragraphsgit add
Local RepositorySaving story on shelfgit commit
Remote RepositoryPublishing onlinegit push

💡 Memory Tip:

  • Add = “I want this in the next version”

  • Commit = “Save it on my shelf”

  • Push = “Share it online”

4. Common Git Commands (With Examples)

Let’s go step by step.

4.1 git init

Initializes Git in a project.

git init

📌 Creates a hidden .git folder

4.2 git status

Shows the current state of files.

git status

Tells you:

  • Which files changed

  • Which are staged

  • What Git is tracking

4.3 git add

Adds files to the staging area.

git add file.txt
git add .

📌 Think: “I want to include this in my next save”

4.4 git commit

Creates a snapshot of staged changes.

git commit -m "Add user login feature"

📌 Always write meaningful messages

4.5 git log

Shows commit history.

git log

You’ll see:

  • Commit ID

  • Author

  • Date

  • Message

4.6 git branch

Lists or creates branches.

git branch
git branch feature-login

4.7 git checkout / git switch

Move between branches.

git switch feature-login

5. Basic Git Workflow (From Scratch)

Let’s see how a developer actually uses Git.

Step 1: Create project

mkdir my-app
cd my-app
git init

Step 2: Create a file

echo "Hello Git" > app.txt

Step 3: Check status

git status

Step 4: Stage changes

git add app.txt

Step 5: Commit

git commit -m "Initial commit"

🎉 Your first Git commit is done!

6. Local Repository Structure — Explained with a Story Analogy

📚 Local Repository (Your personal story archive)
-----------------------------------------------
.git/            → Hidden folder with Git data
    ├── HEAD        → Points to the current chapter/version
    ├── refs/       → Tracks branches (drafts, alternate endings)
    ├── objects/    → Stores all saved story versions (commits)
    ├── index       → Staging area info (what’s ready to commit)
    └── config      → Repository settings (author, rules)

story.txt       → Your actual story file
chapter1.txt    → Another story file
chapter2.txt    → Optional files in working directory
Git ComponentAnalogy
.git/Your secret vault with all saved versions and rules
HEADBookmark showing which chapter/version you’re on
refs/Labels for different drafts or story branches
objects/All saved paragraphs in compressed form
indexList of pages you’ve chosen to save next
configSettings: author name, email, preferences
Story filesYour actual story you edit every day

💡 Note:
Even if you delete files from your working directory, .git/objects/ still keeps the previous versions. That’s why Git can restore lost work!

We will talk in detail about .git folder in another blog.

Conclusion

Git may feel confusing at first, but it’s just a smart history tracker.

Start small:

  • Make changes

  • Stage them

  • Commit often

With practice, Git becomes second nature — and an essential skill for every developer.

More from this blog

T

The Learning Yogi Journal

3 posts

The Learning Yogi Journal is my space to explore tech, share learnings, and capture ideas. A place for growth, experiments, and reflections—one insight, one page at a time.