Erik, >What advantage is having a local repo to having a local working copy? >It seems to me that all it does is add an extra layer between me and my >co-contributors. I need to 'commit' to my local repo and then 'push' to get it >out to the world, where before only a >'commit' was needed...
It will seem that way at first. Don't expect your first couple of weeks to be happy, but I promise it gets better. The big advantage is having local branching, roll back, staging and the ability to work completely offline. The thing is that it's a totally different workflow so it's hard to compare git versus svn accurately. My git workflow is constant committing and branching locally (all of which are nearly 0 overhead in git). It allows me to task switch very easily, to try things out and roll back when they don't work. I can be in the middle of a task, stash the half-baked code, switch over to do a bug fix, and then switch back and resume my state. I make potentially dozens if not hundreds of branches in the course of a day when I am really coding. Out of all of those branches and commits, I perhaps push 1 or 2 up to the outside world. Its more about local code organization and local workspace management and then sharing the daily or hourly results of those efforts. I can promise this will suck for you at first. You are asking all of the question I did and I frankly hated git and was frustrated with it for weeks. Now I strongly dislike when someone makes me use SVN. It feels clunky and inelegant. Mike