So I'm quite new to Git and DVCS in general, and I've been reading everywhere that, at least on private branches, "it is always good to commit all the time". The question is: why? I am using SourceTree (Git client with graphical interface) and I find it much easier to (stage and then) commit my code once everything is working and I'm done, since I can still see my diffs in SourceTree before committing.
So what's the reason for committing more often? And how often should I do it?