Ever saved a file as “final”, then “final-v2”, then “final-really-final”? Git does that properly, for every file in a project, forever.
You’re writing a report with three colleagues. Someone overwrites another person’s paragraph. Someone deletes a section that turns out to matter. Nobody’s sure which file is the latest.
Git solves that for software. It keeps a complete history of a project: every saved version, what changed in it, who changed it and why. You can look back at any point, compare two versions or go back to one.
How it works
Every so often you tell Git “save this version”. It takes a snapshot of the whole project and adds it to the history, with a short note about what you did. That snapshot is called a commit.
Nothing is ever lost. Git stores the history very efficiently, so even years of it take up surprisingly little space.
Why people who write code love it
- you can try something risky and undo it in seconds
- several people can work on one project without overwriting each other
- when something breaks, you can find exactly which change caused it
- the history doubles as a diary of how the project grew
What it isn’t
It isn’t GitHub. Git runs on your own computer. GitHub (and websites like it) stores Git projects online so teams can share them.
It isn’t only for code either. Anything made of text files, like a book or a website, can be tracked with Git.
Where the comparison breaks down
A photo album keeps a whole copy of every page. Git is cleverer. It can show you exactly which lines changed between two versions, which no album can.
How the words fit together
Git keeps the history. A commit is one saved snapshot in it. A branch is a separate line of work for trying something out. GitHub is where many people keep their Git projects online.
Git and GitHub aren't the same thing. Git is the tool that keeps the history. GitHub is a website where people keep their Git projects online and work on them together.
When you'll hear it
“It's in the repo.” It's in the project's Git folder, along with its full history. Repo is short for repository.
“Let's check the Git history.” Let's look back through every saved version to see what changed and when.
“Roll it back to yesterday's version.” Git can return the whole project to any earlier saved point.
“If this goes wrong, can we see exactly what changed and go back?”

Try it yourselfReady to use it? The exact commands are on my other site, devcmds: Install Git and set your name ↗


