The index
The tree between your files and your history.
Git has three trees, not two. The working tree is your files. HEAD is the last commit. Between them sits the index — a full tree of its own, holding what the next commit will contain.
Almost every everyday command is a movement between two of these three. `git add` copies from the working tree into the index. `git commit` turns the index into a commit. `git restore` copies backwards. Once you can name which two trees a command touches, git stops being surprising.
`git status` is a report on the two gaps: staged changes are index against HEAD, unstaged changes are working tree against index.
Commands in this lesson
git add- Copy the current contents of a file into the index
git status- Report the two gaps: HEAD against the index, and the index against your files