Ok so I read up on staging, and it seems like a completely useless feature to me. [url=http://tomayko.com/writings/the-thing-about-git]This[/url] blogpost outlines a scenario called the "tangled working copy"-problem for when staging comes in handy. I've never actually had this problem. Ever! When I work on a feature, function or what have you, I finish it (and test it) before committing. In the rare case that I don't, I specify in the commit message that I submitted a non-working change so that if you need to avoid experimental code you can revert to the last version. In the rare case that I fix or change two unrelated issues in the same file, I make sure they both work before committing. And I always summarize what I did in my commit messages. This post is from -- http://socoder.net/index.php?topic=2887