There are several "areas" (my term) that can store files within a single Git repository.

HEAD

Things that are actually checked in to the repository.

index

This is the staging area, an intermediate step between the working directory and the repository.

When you do a commit, it commits everything that's in the index.

working tree

untracked files

stash

various diffs

rather useful graphic

discard changes

see here!

see also