By the end of this page you will know exactly what problem git solves, and why GitHub is a different thing.
You have seen this folder. Maybe you own this folder right now. It looks something like this:
# Documents/School/BigReport/ report.docx report_v2.docx report_v2_FINAL.docx report_v2_FINAL_for-real-this-time.docx
Here is the thing: this is not silly. This is a smart instinct. You wanted to keep old versions safe while you kept working. You invented version control by hand.
But the hand-made version falls apart fast. Which file changed what, exactly? When did you change it? Why? And the nightmare question: what happens when a teammate edits report_v2.docx while you edit report_v2_FINAL.docx? Now there are two "latest" versions, and nobody knows which one is real.
Imagine you could write a wish list for a tool that fixes the chaos. It would probably say:
| Wish | Why it matters |
|---|---|
| Keep every version, forever | You can always go back, nothing is ever lost |
| A short note on each change | Future you knows why something changed |
| Who changed it, and when | No more guessing or blaming |
| Several people working at once | Teamwork without stepping on each other |
| No filename chaos | One file called report.docx, always |
Good news: this exact wish list already exists, and it is free. It is called git. It was built in 2005 by Linus Torvalds, the creator of Linux, when his team suddenly lost access to the tool they had been using to track changes and nothing else out there was good enough. Today basically every software team on earth runs on it. And it works just as well for one person with one project.
Before we learn any commands, lock in the core idea. Git lets you freeze your whole project at a moment in time, give that moment a name, and come back to it whenever you want.
This is also why git feels so safe once you trust it. Once you have made a save point, that version of your project is almost impossible to lose. Even if you delete files, even if an experiment goes sideways, the save point is still there waiting for you.
Here is the same project, twice. On the left, the hand-made way. On the right, the git way: one clean line of save points, oldest on the left, newest on the right.
Each circle is one save point: the whole project, frozen, with a note in plain words. The little arrows point each save point back at the one that came before it, like beads on a string. One file name. Full history. Zero chaos.
People mix these two up all the time, so let's settle it before we go any further. One is a tool on your machine. The other is a place on the internet.
This course teaches you both, git first. Once save points feel natural on your own machine, putting a copy on GitHub takes about five minutes.
Open the Terminal app on your Mac (press Cmd+Space, type "Terminal", press Return). Then type this and press Return:
git --version git version 2.49.0
If you see a version number, git is already on your computer, no installation needed. If your Mac offers to install developer tools instead, click Install and let it finish. Either way, you are ready for Lesson 2.
Q. Which sentence is true?
One more to think about: why not just keep copies of the whole folder, like the v2_FINAL method, but tidier?