Overview
Staging is the act of selecting changes for the next commit. The git add command does not permanently save a version; it moves selected changes from the working directory into the staging area.
The staging area exists so that a commit can be deliberate. You can review a group of changes, include only the ones that belong together, unstage mistakes, and then commit the final selection.