Learn the Basics
A version control system tracks changes to code over time, so multiple versions of a project can coexist and collaboration stays manageable.
This section is the starting point: what version control is, why it is worth learning, and how Git compares to the alternatives. If you already know all of that, jump to Git Basics and come back only when something does not behave as you expect.
Two ideas do most of the work. Version control is the practice of recording changes so that any earlier state can be recovered and the reason for each change is written down. Git is a particular implementation of it, and the one this site teaches.
Most of the confusion beginners hit is not about commands. It comes from
expecting Git to be a tracker for files, when it is really a tracker for
commits — snapshots that you name and describe. git add chooses what goes
into the next snapshot, and git commit takes it. Once that distinction is
clear, most odd-looking commands start to make sense.
Start with What is Version Control?, then Why Use Version Control if you want the case for it, and Git vs Other VCS if you are coming from Subversion, Mercurial or a proprietary system.