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
This is a pure PITA (in my humble opinion). Evidently, most UI tools (actually all I know off, including Eclipse's EGit, Mac XCode, and GitHub client) don't expose this feature.
I understand the notion of partial commit. You don't want to commit everything you have on your file system. But introducing the concept of a "Stage" for it is an overkill.
There are currently 4 stages for your check-in to go through:
1. Your file system
2. The staging
3. your local repository
4. the remote upstream
UI frontends to git do not exposes the staging. They show you all the changes you have. You check the ones that you want to commit and you commit in a single operation.
Possibly, this is an impolmentation detail that got elevated into a UI concept. Instead of a:
commit( X, Y, Z)
you have:
add(X), add(Y), add(Z), commit()