Why is there the staging area between \"git add\" and \"git commit\"?
I understand the concept, but fail to see the sense in adding files to the staging area before actually
git commit doesn't have to check every file in the tree to see if has changed. On a big tree that can be a big time saving.
By staging some files (or ever some changes within some files) you get nice fine grained control of what exactly you want to commit and what you do not. For instance, if you spot a trivial bug while part way through a big change you can quickly stage and commit a one line bug fix without all the other changes getting in the way.