Shawn Pearce [off-list ref] writes:
Although other SCMs (e.g. SVN or CVS) would encourage you to commit
and push to the remote immediately this is actually a pretty bad
idea in GIT.
Well, non-distributed SCM is totally a different story. For
them, committing is to propagating the change to the central
repository to be consumed by others.
You can use git in that way as well, but you do not have to, and
that is an improvement;-).