As you can probably guess from the Git workflow, files can be in one of three states:
When you modify a file, you will only see those changes in the working tree. You must then stage the changes to include them in your next commit. Once you finish staging all files, you can commit them and add a message describing what you changed. Then your changes are safely recorded in a new snapshot in the repo.