What Version Control Is For
What Git Is Not
Four things get believed about Git early and cause confusion for months. They are quicker to clear up now than to unlearn later.
Git is not GitHub
These are different things, and the names being similar is genuinely unhelpful.
Git is a program that runs on your computer and manages a project’s history. It was working before you connected to anything, and it keeps working with your network off.
GitHub is a website that stores copies of Git projects so people can share them. So are GitLab, Bitbucket, Codeberg, and others. They are useful, they are popular, and they are optional.
You can use Git for years, alone, on your own machine, and never create an account anywhere. Plenty of people do. When someone says “put it on Git,” they usually mean “put it on GitHub,” and the two ideas have been tangled together in casual speech for so long that beginners reasonably assume they are one thing.
Keep them separate in your head. It will save you real confusion when we get to sharing work, because at that point you need to know which half is doing what.
That separation is also the boundary of this course. You will practice sharing mechanics with
Git is not a backup
A history lives inside your project folder. If your laptop is stolen, your
This surprises people, because “keeps every version of everything” sounds like a backup. It is not one, and it does not try to be. Git protects you from your own edits. It does not protect you from a failed drive or a lost bag.
Copying your project to a hosting service does give you an off-machine copy, which is one reason people do it. But that is a thing you set up on purpose, not something Git provides by existing.
Keep backing your computer up however you already do.
Git does not save your work automatically
Git records what you tell it to record, when you tell it to.
Editing a file changes the file. It does not create a commit. Close the editor and reopen it a week later and Git will still show your work as uncommitted, exactly as you left it. Nothing was captured and nothing was lost.
This trips people up in both directions. Some assume they are protected when they are not. Others assume Git is silently watching them and feel surveilled. Neither is true. It waits to be asked.
Git is not only for programmers, and not only for code
Git can store any ordinary file as bytes. Its comparisons are most useful for text, which is why programmers adopted it, but a lot of other work is text too.
People keep books, research notes, legal documents, configuration files, and websites in Git. If your work is made of text files and you care what it looked like last month, Git applies.
It is genuinely weaker with images, video, and large binary files. It will store them, but it cannot show you a useful difference between two versions of a photograph, so much of the value disappears. That is a real limitation, not a rough edge.
Your internet connection is down. Which of these can you still do?
Why is it inaccurate to call Git a backup system?
With those cleared up, one thing is left before you touch Git itself: knowing where you will be running it, and why this course does it in two places.