Skip to main content

Command Palette

Search for a command to run...

Git for Beginners: Basics and Essential Commands

Git Explained Simply: How Developers Track, Save, and Undo Code Changes

Updated
5 min read
Git for Beginners: Basics and Essential Commands
N

I build clean and simple web experiences and learn something new every day.

Introduction

If you’ve renamed files like:

project.docx
project_final.docx
project_final_v3.docx
project_final_please_work.docx

then congratulations you already understand why Git exists, even if you’ve never use it before.

Now imagine managing hundreds of files, changing them daily, & working with other people at the same time.
That chaos is exactly what Git was designed to handle.

In this blog i am going to explain what Git is, why developers rely on it, and how it actually works internally, using normal language, real-life logic, and just enough technical depth to make things click, even if you’re completely new to programming.


What Is Git? (Without Complicated Definitions)

At its core, Git is a system that tracks changes in files over time.

But unlike normal saving:

  • It doesn’t just overwirte files

  • It remembers every meaningful version

  • It lets you move backward & forward through your project’s history

A more accurate way to think about Git is:

Git is a timeline manager for your project

Every time you reach a stable point, Git lets you mark it on that timeline.

Technically speaking, Git is a distributed version control system, meaning:

  • Every developer has a full copy of the project

  • Every copy contains the entire history

  • You are never dependent on a single computer or server


Why Git is Necessary (From a Developer’s Point of View)

Without Git

  • You don’t know which version is correct

  • Fixing one bug🐛 can break something else

  • Collabration become risky

  • Undoing mistakes is nearly impossible

With Git

  • Every changes is recorded with context

  • Mistakes are reversible

  • Experiments are safe

  • Collaboration become structured

Git doesn't just save files, it gives confidence.
Confidence to change code, refactor it, & improve it without fear.


A Real-Life Analogy: Editing a Recipe 🍛

Think of building software like improving a recipe.

  • First version → simple dish

  • Second version → add spices

  • Third version → adjust ingredients

  • Oops, tastes bad → want the previous version

Without Git:

You start from scratch

With Git:

You jumps back to the last good version

Git is basically version control of ideas, not just code.


Core Git Concepts

Repository (Repo)

A repository is a norrmal folder that Git is watching.

It contains:

  • Your project files

  • A hidden .git folder where Git stores history & metadeta

You can think of it as:

A project folder + memory


Commit

A commit is a recorded checkpoint.

Technically:

  • It stores a snapshot of changes

  • It includes a message, timestamp, & reference to the previous commit

Practically:

This version works. Remember it

Commits are the backbone of Git’s power.


Branch

A branch is an independent line of developement.

Instead of editing the main project directly, you can:

  • Create a branch

  • Try changes freely

  • Merge them later if they work

This allows developers to experiment without breaking stability.


HEAD

HEAD is Git’s way of saying:

You are currently here on the timeline

It points to the active commit you’re working from.


How Git Works Internally

Git does not store full copies of files again & again.

Instead, Got:

  • Tracks changes

  • Links commits together

  • Builds a connected history graph

Git’s Three Areas

What this actually means

  • Working Directory/Folder

    Where you write & edit files

  • Staging Areas

    Where you choose What exactly should be saved

  • Repository

    Git’s internal database of commits and history


Why Does the Staging Area Exists?

Because saving everything blindly is dngeroous

The staging area allows intentional commits:

  • You decide what matters

  • You group related changes together

  • You avoid messy history

This is one of Git’s most underrated features


Understanding Git History (Timeline Thinking)

Each commit:

  • Knows its parent

  • Can be checked out independently

  • Acts like a restore point

Git history is not just a list it’s a linked structure


Essential Git Commands (With Purpose, Not Memorization)

Initialize Git

git init

Creates the .git folder & starts tracking the project.


Check Current State

git status

Shows:

  • Modified files

  • Staged files

  • Untracked files

This command answers:

What’s going on right now:


Stage Changes

git add .

Moves selected changes into the staging area.


Commit Changes

git commit -m "Commit message"

Creates a permanent snapshot in Git history.


View Commit History

git log

Displays:

  • Commit IDs/Hash

  • Messages

  • Order of changes


Undoing Mistakes: Reset vs Revert

git revert - Safe and Public
Creates a new commit that undoes a previous one.

Best when:

  • Working in a team

  • Code is already shared


git reset - Powerful and Dangerous
Moves the project backward.

git reset — Powerful and Dangerous

Moves the project backward.

Types:

  • --soft → undo commit, keep changes

  • --mixed → undo commit and staging

  • --hard → delete everything after

Use carefully.


Branching & Merging

Branches allow parallel development.

Merging combines completed work back into main

git merge feature-x

What Git Does NOT Do

  • It does not upload code automatically

  • It does not fix bugs

  • It does not write logic

Git’s job is history management, nothing more.


Beginner Rules That Actually Matter

  • Commit small, meaningful changes

  • Write readable messages

  • Understand why commands exist

  • Prefer revert over reset in teams

  • Learn concepts first, commands second


Final Thoughts

Git feels confusing only until you understand what problem it solves.

Once you see Git as:

  • A timeline

  • A safety net

  • A confidence tool

Everything starts making sense.

You don’t need to be an expert.
You just need to understand the logic.


More from this blog

C

codeXninjaDev

54 posts

I build clean and simple web experiences and learn something new every day.