Pushing and pulling a few times a day is usually enough. More frequent pushes, like @earlonrails mentioned, means less chance of conflicting changes, but this isn't usually a significant concern. Consider it this way: when you commit to your local repository, you're basically declaring, "I believe in this code." It's finished.